我正在使用firebug控制台来测试脚本...... 在我的脚本开头,我有一个关于我希望脚本运行的次数的选项!
我的问题是:
注释:
代码示例:
var x = prompt("How many times should this script be runned?");
alert("It will be runned " + x + " times then!");
function doThis() {
setTimeout(function(){
...;
++n;
--x;
action();
},65000);
}
function doThat() {
setTimeout(function(){
...;
++n;
--x;
action();
},65000);
}
function action() {
if(x>0) {
if(...) {
if(n<6){
doThis();
}
} else {
if(n<6){
doThat();
}
}
} else {
alert("The Script has ended!");
}
action();
答案 0 :(得分:1)
是的,今天的大多数浏览器都有时间限制脚本在将控制权返回给用户之前可以运行多长时间。这是为了防止错误或不正常的脚本被挂起来#34;那个浏览器窗口。
通常可以通过在运行之间放置一个较小的计时器来解决它。这使浏览器有机会为它的事件循环提供服务,并防止提示运行太长时间。
我拍的大量工作时间不超过10秒左右,这远低于所有浏览器的门槛。以下是一些以前的答案,将您的工作分成由短暂的定时器间隔分隔的块,这样事情基本上可以永远运行。
Best way to iterate over an array without blocking the UI