Javascript 在所有浏览器的win和mac上,当页面失去焦点并最小化时,停止自动刷新
在以下情况下,我希望停止自动刷新页面:Javascript 在所有浏览器的win和mac上,当页面失去焦点并最小化时,停止自动刷新,javascript,refresh,Javascript,Refresh,在以下情况下,我希望停止自动刷新页面: 它失去了焦点 浏览器被最小化 我可以先做,但特别是在mac电脑上,我无法找到方法 任何帮助都将不胜感激。不确定您尝试了什么,但如果您想查找浏览器窗口的非活动状态,您可以使用允许我们检测用户何时隐藏页面的 注意:(来自w3.org) 本规范定义了一种方法,供站点开发人员使用 以编程方式确定中页面的当前可见性状态 为了开发节能高效的web应用程序 您必须注册visibilitychange事件,示例代码如下所示: <!DOCTYPE html> &
任何帮助都将不胜感激。不确定您尝试了什么,但如果您想查找浏览器窗口的非活动状态,您可以使用允许我们检测用户何时隐藏页面的 注意:(来自w3.org) 本规范定义了一种方法,供站点开发人员使用 以编程方式确定中页面的当前可见性状态 为了开发节能高效的web应用程序 您必须注册
visibilitychange
事件,示例代码如下所示:
<!DOCTYPE html>
<html>
<head>
<script>
var timer = 0;
var PERIOD_VISIBLE = 1000;
var PERIOD_NOT_VISIBLE = 60000;
function onLoad() {
timer = setInterval(checkEmail, (document.hidden) ? PERIOD_NOT_VISIBLE : PERIOD_VISIBLE);
if(document.addEventListener) document.addEventListener("visibilitychange", visibilityChanged);
}
function visibilityChanged() {
clearTimeout(timer);
timer = setInterval(checkEmail, (document.hidden) ? PERIOD_NOT_VISIBLE : PERIOD_VISIBLE);
}
function checkEmail() {
// Check server for new messages
}
</script>
</head>
<body onload="onLoad()">
</body>
</html>
var定时器=0;
var周期_可视=1000;
var期间不可见=60000;
函数onLoad(){
计时器=设置间隔(检查电子邮件,(文档.隐藏)?期间\u不可见:期间\u可见);
if(document.addEventListener)document.addEventListener(“visibilitychange”,visibilityChanged);
}
函数visibilityChanged(){
清除超时(计时器);
计时器=设置间隔(检查电子邮件,(文档.隐藏)?期间\u不可见:期间\u可见);
}
函数checkEmail(){
//检查服务器是否有新消息
}
检查已回答的堆栈溢出问题,以供参考:
页面自动刷新是什么意思?我编写了一个函数,每1分钟调用一次,我想确保该函数仅在页面处于焦点时进行ajax调用