防止onbeforeunload函数暂停javascript计时器
作者:互联网
在我的网页上,我有一个使用javascript的setTimeout()的倒数计时器.
function Tick() {
if (RemainingSeconds <= 0) {
alert("Time is up.");
return;
}
RemainingSeconds -= 1;
ElapsedSeconds += 1;
UpdateTimerDisplay();
window.setTimeout("Tick()", 1000);
}
我还在onbeforeunload上触发了一个功能,以“防止”用户离开页面.
window.onbeforeunload = function () {
if (!isIEAjaxRequest) {
return "You should use the logout button to leave this page!";
}
else {
isIEAjaxRequest = false;
}
};
问题是当“你确定要离开这个页面吗?”窗口提示,它暂停setTimeout()函数.有关如何防止这种情况的任何想法?
解决方法:
一个可能的解决方法可能是使用var before = new Date()来存储对话框出现之前的时间,然后使用那个来计算对话框消失后的传递时间以弥补错过的秒数.
标签:javascript,javascript-events,settimeout,onbeforeunload 来源: https://codeday.me/bug/20190613/1231625.html