【问题标题】:Detect tab switch inside browser and application switch from the browser检测浏览器内的选项卡切换和浏览器的应用程序切换
【发布时间】:2018-05-21 08:50:19
【问题描述】:

当用户在特定浏览器中切换选项卡以及用户切换应用程序时,我需要了解选项卡的可见性状态。(从浏览器切换)

var visibilityState,
    activeTab = (function(){
        var stateKey, eventKey, keys = {
            hidden: "visibilitychange",
            webkitHidden: "webkitvisibilitychange",
            mozHidden: "mozvisibilitychange",
            msHidden: "msvisibilitychange"
        };
        for (stateKey in keys) {
            if (stateKey in document) {
                eventKey = keys[stateKey];
                break;
            }
        }
        return function(c) {
            if (c) document.addEventListener(eventKey, c);
            return !document[stateKey];
        }
    })();
activeTab(function() {
    visibilityState = activeTab();
});

用途

$(window).blur(function(){
    if(!visibilityState){
        console.log("Tab Switch happened ...");
    }
});

【问题讨论】:

  • 请添加您的代码以及到目前为止您尝试过的内容

标签: javascript jquery


【解决方案1】:

您的目标浏览器支持什么?您是否尝试过查看Page Visibility API?或者,如果您使用的是 jQuery,您可以像 answer 中演示的那样执行 $(window).on("blur focus", someCallbackHere)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-19
    • 2010-11-05
    • 2017-03-21
    • 2014-10-20
    相关资源
    最近更新 更多