gpt4 book ai didi

javascript - 如何防止浏览器对话框阻止 UI 计时器

转载 作者:行者123 更新时间:2023-12-03 09:45:27 25 4
gpt4 key购买 nike

我想在 html 中设置一个计数器。默认情况下,浏览器对话框(如警报、关闭警告等)会阻止计数器执行。我该如何防止这种情况发生?我的代码类似于下面给出的代码片段:

var count = 30;
var counter = setInterval(timer, 1000);

function timer() {
count = count - 1;
if (count <= 0) {
clearInterval(counter);

return;
}

document.getElementById("timer").innerHTML = count + " secs";
}
window.onbeforeunload = function() {
return "I am blocking counter"
}
<span id="timer">...</span>
<button type="button" name="name" value="caption" onclick="alert('block this')">block counter</button>

jsfiddle

最佳答案

Javascript 对话框始终是 io 阻塞的,解决此问题的唯一方法是编写自己的对话框。

因此,您不会弹出 io 阻塞警报框,而是弹出一个位于页面顶部的 div 容器。

不过,您无法避免 onbeforeunload 的对话框。

关于javascript - 如何防止浏览器对话框阻止 UI 计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31048544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com