php - 失去焦点时禁用页面刷新

标签 php javascript html

我想知道是否有一种方法可以在页面失去焦点时禁用自动页面刷新。当它再次获得焦点时,我已将其设置为刷新:

window.onblur= function() {window.onfocus= function () {location.reload(true)}};

我从 here 中找到的.我最初使用以下方法自动刷新页面:

<meta http-equiv="refresh" content="60"/>

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

我想让页面只有在获得焦点时才自动刷新,当页面再次获得焦点时会进行初始刷新。获得焦点后,它应按时间间隔刷新,直到失去焦点。

谢谢

最佳答案

你不能覆盖这种刷新,你可能应该使用 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);
    }
}

关于php - 失去焦点时禁用页面刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17128133/

相关文章:

PHP - 根据 MySQL 查询生成页面

javascript - jQuery getJSON 结果 - 尝试从结果创建文本 <a> 链接,但仅获得 [objectObject] 作为返回 - 它与图像 <a> 配合良好

java - 读取Java中页面的源代码

jquery - script-tutorials.com Colorwheel改变不同div的颜色

php - 使用 jWindowCrop 裁剪图像 - PHP

javascript - 通过javascript访问对象键值

javascript - 是否可以访问 VoiceXML 文档的 DOM?如何?

jquery - Wordpress 看不到我的新 style.css 文件

php - UTF-8贯穿始终

javascript - 使用 jQuery Data 属性设置多个表单值