当浏览器选项卡为后台时,setInterval无故停止

setInterval stops without any reason when browser tab is background(当浏览器选项卡为后台时,setInterval无故停止)

本文介绍了当浏览器选项卡为后台时,setInterval无故停止的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发一个应用程序,该应用程序使用setInterval通过AJAX每2分钟将当前时间戳发送到数据库。

但setInterval不知何故在几分钟后停止(我没有计算确切的时间),但我相信当我20-30分钟没有打开浏览器的标签时就会停止。

function tmstmp() {
$.post("send_functions.php?act=time");
}

$(function() { 
setInterval(tmstmp, 60000);
});

如果该选项卡不在前台,setInterval停止是否正常?

如果是,如何阻止setInterval停止?或检查它是否已停止?

谢谢

推荐答案

您应该尝试在页面启动时调用函数:

test();

然后循环该函数:

function test() {
    setTimeout(function() {
        // your code
        test();
    }, 2000);
}

这篇关于当浏览器选项卡为后台时,setInterval无故停止的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:当浏览器选项卡为后台时,setInterval无故停止