我正在开发一个应用程序,它使用setInterval每隔2分钟使用AJAX将当前时间戳发送到数据库。
但不知何故setInterval在几分钟后停止(我没有计算确切的时间),但我相信它会在我打开浏览器的标签20-30分钟时发生。
function tmstmp() {
$.post("send_functions.php?act=time");
}
$(function() {
setInterval(tmstmp, 60000);
});
如果该选项卡不在前台,那么setInterval会停止吗?
如果是,我如何阻止setInterval停止?或者检查它是否停止了?
谢谢
答案 0 :(得分:1)
你应该尝试在页面启动时进行函数调用:
test();
并循环该功能:
function test() {
setTimout(function() {
// your code
test();
}, 2000);
}
答案 1 :(得分:0)
没有代码+没有调试信息=很难说出现了什么问题。
只是确保将以下行添加到使用setInterval
执行的代码(方法)中,如果仍然在控制台中输出,则在20-30分钟后观看。
console.log('Yep! I am alive!');
编辑除了尝试更改 tmstmp 方法以在POST请求执行后包含回调函数,它可以是任何东西。这样你至少知道它有效。
function tmstmp() {
$.post("send_functions.php?act=time", function(data){
console.log('Yep! I am alive!');
});
}
答案 2 :(得分:0)
这不应该发生。 浏览器确实可以将计时器分辨率降低到1 / s左右,但不能清除setInterval。
您的代码中是否存在导致clearInterval
的错误?