我想在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>
答案 0 :(得分:1)
Javascript对话框总是阻止,你唯一的方法是编写自己的对话框。
因此,您不会弹出一个io阻止警告框,而是弹出一个div容器,它位于页面顶部。
但是你无法避免使用onbeforeunload的对话框。