失去焦点时禁用页面刷新

the*_*b09 5 html javascript php

我想知道是否有办法在页面失去焦点时禁用自动页面刷新.我已经将它设置为刷新,当它再次获得焦点时已经使用了这个:

window.onblur= function() {window.onfocus= function () {location.reload(true)}};
Run Code Online (Sandbox Code Playgroud)

我从这里找到.我最初使用以下命令自动刷新页面:

<meta http-equiv="refresh" content="60"/>
Run Code Online (Sandbox Code Playgroud)

无论状态如何,每60秒重新加载一次页面.

我希望只有当页面再次聚焦时初始刷新时才会使页面具有自动刷新功能.在获得焦点后,它应该在时间间隔刷新,直到焦点丢失.

谢谢

Mos*_*erg 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);
    }
}
Run Code Online (Sandbox Code Playgroud)