gpt4 book ai didi

javascript - 如何在用户离开页面时保持定期刷新页面?如果在页面上则不刷新

转载 作者:数据小太阳 更新时间:2023-10-29 04:46:45 24 4
gpt4 key购买 nike

是否可以在用户不在页面上时每分钟刷新一次网页?例如,如果我正在访问一个 PageX 并停留在页面上,它不会刷新,但是一旦我离开页面(即切换到另一个选项卡/窗口或程序),PageX 就会每 x 分钟刷新一次还是秒?我该怎么做?谢谢。

更新:

“在页面上”意味着页面是当前窗口,即它有焦点。因此,如果 PageX 有一个弹出窗口的链接,比如 100 x 100,点击打开弹出窗口,而页面在那个小弹出窗口后面仍然可见,它没有焦点,因此需要按照说明进行刷新以上。

有什么不明白的请追问。

更新 2

正如下面 Mattk 所建议的.. 以下似乎在 Firefox(尚未检查最新版本)和 Chrome 中工作。在 IE 8 中,如果我切换到另一个选项卡或程序,它不会刷新页面,但如果我在页面上并单击地址栏,它就会开始刷新页面。有什么想法可以让它在 IE 中运行吗?

var pageFocused = false;

function onPageFocus(){
pageFocused = true;
//document.body.className = 'focused';
}

function onPageBlur() {
pageFocused = false;
//document.body.className = 'blurred';
};

function checkActivity() {
if(pageFocused == false){
location.reload(true);
}
}
setInterval("checkActivity()", 1 * 1000);
if (!+"\v1") { // check for Internet Explorer
document.onfocusin = onPageFocus;
document.onfocusout = onPageBlur;
} else if (/*@cc_on!@*/false) {
document.onfocusin = onPageFocus;
document.onfocusout = onPageBlur;
} else {
window.onfocus = onPageFocus;
window.onblur = onPageBlur;
}

最佳答案

window 对象在大量 browsers 上有 blurfocus 事件.

您可以将一个事件处理程序附加到 blur 事件以开始定期刷新,并将另一个事件处理程序附加到 focus 以停止它。这就像在 blur 中执行 setInterval 一样简单,保存 intervalID,然后在 focus 中使用 clearInterval停止轮询的事件处理程序。

关于javascript - 如何在用户离开页面时保持定期刷新页面?如果在页面上则不刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5981414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com