如何查明我的页面是否被使用
How to find out if my page is being used?
有没有办法知道我的页面现在是否正在使用?我的意思是,如果它在用户屏幕上。具有页面的选项卡在屏幕上处于活动状态。我有一些服务器客户端的数据流,我想优化它。我想让数据流只是当用户正在观看页面时,而不是当页面在浏览器中打开,而是隐藏在非活动选项卡中时。有人知道吗?非常感谢。
如果您想查看选项卡当前是否可见(而不是隐藏的选项卡),则可以使用可见性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];
}
})();
演示
相关文章:
- 访问布局信息是否也会导致浏览器重排
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 如何检测是否有溢出
- jQuery中是否内置了任何字符串格式化函数
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 测试索引值是否等于某个数字的倍数
- Fancybox是否将Click事件静音
- 主干-不管怎样,检查事件以前是否绑定过
- YUI3 IO实用程序是否可以根据给定的内容类型标头值自动序列化数据
- 如何查明鼠标按下事件是否发生在滚动条上或元素中的其他任何位置
- Nightwatch:有没有办法查明executeSync是否执行了javascript
- 如何查明我的页面是否被使用
- 如何查明SignalR客户端上是否有挂起的请求
- 使用 SignalR 查明是否有人在另一个网站上按下了按钮
- 检查以查明元素是否包含 1 个以上的类名
- 是否有可能知道用户何时点击YouTube视频上的广告
- 查明按键是否更改了值
- 是否有任何方法可以查明localForage/indexedDb是否正在处理数据
- 如何查明一个HTML元素是否在另一个HTML元件后面
- 查明所选文本是否在输入字段或文本区域内