Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在浏览器页面切换到“我的网站”选项卡(如gmail中的聊天室状态更改)时创建事件_Javascript_Jquery_Chat - Fatal编程技术网

Javascript 如何在浏览器页面切换到“我的网站”选项卡(如gmail中的聊天室状态更改)时创建事件

Javascript 如何在浏览器页面切换到“我的网站”选项卡(如gmail中的聊天室状态更改)时创建事件,javascript,jquery,chat,Javascript,Jquery,Chat,在我的网页中有在线状态,如可用、空闲、忙等。如果我们在10分钟后才加载网页,则状态会变为可用到空闲。一旦我返回到我的网页选项卡浏览器,除非刷新页面,否则如何创建用于将空闲状态更改为可用状态的事件。这可以使用body元素上的mouseover事件来完成 document.getElementsByTagName('body')[0].addEventListener("mouseover", function(){ // If idle then set status to availabl

在我的网页中有在线状态,如可用、空闲、忙等。如果我们在10分钟后才加载网页,则状态会变为可用到空闲。一旦我返回到我的网页选项卡浏览器,除非刷新页面,否则如何创建用于将空闲状态更改为可用状态的事件。

这可以使用body元素上的mouseover事件来完成

document.getElementsByTagName('body')[0].addEventListener("mouseover", function(){
   // If idle then set status to available

});
编辑:

有个主意。仅当选项卡/窗口处于活动状态时,才会执行Window.requestAnimationFrame()函数。因此,如果未调用该函数,则表示用户未查看该选项卡或该选项卡未处于活动状态

检查这个例子。运行脚本,然后切换选项卡几秒钟,然后切换回

var isTabOpen=true;
var-tabTimer=null;
函数tabCheck(){
//此函数仅在选项卡打开时调用。
if(tabTimer)clearTimeout(tabTimer);
tabTimer=setTimeout(函数(){
isTabOpen=假;
},1000);
isTabOpen=真;
}
setInterval(函数(){
window.requestAnimationFrame(tabCheck);
document.getElementsByTagName('body')[0].innerHTML+=(isTabOpen+'
');
},1000);研究关键词:,
可视性更改
事件。对于IE10之前的版本,我认为您可以使用
窗口。onfocus
窗口。onblur
想要添加作为答案,但发布已经讨论过的内容(请完整阅读OP)并没有实际意义。其他相关:这只能在我将鼠标移到网页主体上时完成。我需要在选择broweser选项卡时执行事件。