如何查明我的页面是否被使用

How to find out if my page is being used?

本文关键字:是否 何查明 我的      更新时间:2023-09-26

有没有办法知道我的页面现在是否正在使用?我的意思是,如果它在用户屏幕上。具有页面的选项卡在屏幕上处于活动状态。我有一些服务器客户端的数据流,我想优化它。我想让数据流只是当用户正在观看页面时,而不是当页面在浏览器中打开,而是隐藏在非活动选项卡中时。有人知道吗?非常感谢。

如果您想查看选项卡当前是否可见(而不是隐藏的选项卡),则可以使用可见性API。

下面是一个小函数的例子,它允许您在大多数浏览器上注册可见性更改事件并检查可见性:

//  var visible = vis(); // gives the current state
//  vis(function(){ ... });   // register a visibility change event handler
var vis = (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];
        }
})();

演示