Javascript 如何在浏览器页面切换到“我的网站”选项卡(如gmail中的聊天室状态更改)时创建事件
在我的网页中有在线状态,如可用、空闲、忙等。如果我们在10分钟后才加载网页,则状态会变为可用到空闲。一旦我返回到我的网页选项卡浏览器,除非刷新页面,否则如何创建用于将空闲状态更改为可用状态的事件。这可以使用body元素上的mouseover事件来完成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
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选项卡时执行事件。