我想知道当页面失去焦点时是否有办法禁用自动页面刷新。我已经设置了刷新它再次获得焦点时已经使用它:
window.onblur= function() {window.onfocus= function () {location.reload(true)}};
我从here找到了。我最初使用以下内容自动刷新页面:
<meta http-equiv="refresh" content="60"/>
无论状态如何,每60秒重新加载页面。
我想让页面只有在焦点时才会自动刷新,当页面再次获得焦点时会进行初始刷新。在获得焦点后,它应该在时间间隔刷新,直到焦点丢失。
由于
答案 0 :(得分:5)
你无法覆盖这种刷新,你应该使用JS计时器来刷新,就像这样(删除<meta http-equiv="refresh" content="60" />
标签后):
var hasFocus;
window.onblur = function() {
hasFocus = false;
}
window.onfocus = function(){
hasFocus = true;
}
setInterval(reload, 60*1000);
function reload(){
if(hasFocus){
location.reload(true);
}
}
答案 1 :(得分:1)
我最终修改了MostafaTorbjørnBerg的代码,以保持焦点上的刷新,并在页面聚焦时每60秒自动刷新页面。
var hasFocus= true;
window.onblur = function() {
hasFocus = false;
}
window.onfocus = function(){
location.reload(true);
}
setInterval(reload, 60*1000);
function reload(){
if(hasFocus){
location.reload(true);
}
}