仅在选项卡打开时执行JS代码

时间:2018-01-05 08:36:45

标签: javascript html

我有一个每2.5秒调用一次JS函数的脚本。这是我使用的代码,

<script type='text/javascript'>
    getMsgs();
    setInterval(function() {
      getMsgs();
    }, 2500);
</script>

即使我在浏览器的其他选项卡上,此代码仍会继续执行。如何在具有该特定页面的选项卡打开时才执行此操作?

2 个答案:

答案 0 :(得分:1)

如答案here中所述,您可以使用

window.onfocus and window.onblur

答案 1 :(得分:0)

一种方法是检查document.hidden是否为假

   setInterval(function() {
         if(document.hidden === false) {
             getMsgs();
         }
    }, 2500);