我有一些 jQuery 代码,每 6 秒执行一次。
使用 Mozilla Firefox 51.0.1 可以正常工作。在 Internet Explorer 11 中,它似乎工作得很好,但是当我离开计算机,执行其他操作,然后返回时,Internet Explorer 11 可能已停止运行该脚本。例如,几个小时后。也就是说,不再是每6秒执行一次了。没有可用的错误消息。
我该如何解决这个问题?
<script src="/jquery-3.0.0.min.js"></script>
<script type="text/javascript">
<!--
$(document).ready(function(){
valvonta = function() {
var kaavio = 106; // 38;
var a = performance.now();
jQuery.post("hae_tilanteet.php", {
kaavio: kaavio
}).done(function(data) {
var b = performance.now();
$('#valvonta').html(data);
var c = performance.now();
// alert('search ' + (((b - a)/1000)%60) + ' s and update ' + (((c - b)/1000)%60) + ' s');
setTimeout(valvonta, 6000);
});
};
setTimeout(valvonta, 6000);
});
//-->
</script>
最佳答案
感谢@GOTO0,我修改了原来的代码。现在在我看来,以下代码可以解决我的问题。
$(document).ready(function(){
var vasen = 0;
setInterval(function() {
vasen++;
$('#valvonta').stop(true,true).css("left", vasen);
var kaavio = 106; // 38;
var a = performance.now();
jQuery.post("hae_tilanteet.php", {
kaavio: kaavio
}).done(function(data) {
var b = performance.now();
$('#valvonta').html(data);
var c = performance.now();
// alert('search ' + (((b - a)/1000)%60) + ' s and update ' + (((c - b)/1000)%60) + ' s');
});
}, 6000);
});
关于javascript - 当浏览器不活动时 jQuery 和 setTimeout 停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43776326/