Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅在选项卡打开时执行JS代码_Javascript_Html - Fatal编程技术网

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

Javascript 仅在选项卡打开时执行JS代码,javascript,html,Javascript,Html,我有一个脚本,每2.5秒调用一个JS函数。这是我使用的代码 <script type='text/javascript'> getMsgs(); setInterval(function() { getMsgs(); }, 2500); </script> getMsgs(); setInterval(函数(){ getMsgs(); }, 2500); 即使我在浏览器的其他选项卡上,此代码也会继续执行。如何使此操作仅在具有特定页

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

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

getMsgs();
setInterval(函数(){
getMsgs();
}, 2500);
即使我在浏览器的其他选项卡上,此代码也会继续执行。如何使此操作仅在具有特定页面的选项卡打开时执行?

如回答中所述,您可以使用

window.onfocus and window.onblur

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

   setInterval(function() {
         if(document.hidden === false) {
             getMsgs();
         }
    }, 2500);
查看副本,查看并参考此可能的副本