Javascript 在浏览器控制台或FireBug控制台上运行JS脚本是否有时间限制?

Javascript 在浏览器控制台或FireBug控制台上运行JS脚本是否有时间限制?,javascript,firefox,firebug,Javascript,Firefox,Firebug,我正在使用firebug控制台测试脚本。。。 就在我的脚本开始的时候,我有一个关于我希望脚本运行次数的选项 我的问题是: 如果我输入了一个大数字,脚本会在一段时间后停止,而不会完成 注: 如果我不超过10次,它就会一直运行 如果我放20次,有时它会一直跑到最后,有时它不会 如果我放了超过20次,它永远不会结束 每次运行都需要1到6分钟 我检查了代码,逻辑正常 它跑了!它无所不能!只是不超过20次。。。我需要它运行的远不止这些:\ 代码示例: var x = prompt("How man

我正在使用firebug控制台测试脚本。。。 就在我的脚本开始的时候,我有一个关于我希望脚本运行次数的选项

我的问题是:

  • 如果我输入了一个大数字,脚本会在一段时间后停止,而不会完成
注:

  • 如果我不超过10次,它就会一直运行
  • 如果我放20次,有时它会一直跑到最后,有时它不会
  • 如果我放了超过20次,它永远不会结束
  • 每次运行都需要1到6分钟
  • 我检查了代码,逻辑正常
  • 它跑了!它无所不能!只是不超过20次。。。我需要它运行的远不止这些:\
代码示例:

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();
var x=prompt(“这个脚本应该运行多少次?”);
警报(“它将运行“+x+”次!”);
函数doThis(){
setTimeout(函数(){
...;
++n;
--x;
动作();
},65000);
}
函数doThat(){
setTimeout(函数(){
...;
++n;
--x;
动作();
},65000);
}
函数动作(){
如果(x>0){
如果(…){

如果(n是的,那么现在大多数浏览器都对脚本在返回控制权给用户之前可以运行多长时间有一个时间限制。这是为了防止错误或异常脚本“挂起”浏览器窗口

人们通常可以通过在两次运行之间放置一个较小的计时器来解决这个问题。这使浏览器有机会为其事件循环提供服务,并防止出现运行时间过长的提示

我争取的是不超过10秒左右的一大块工作,这远远低于所有浏览器的阈值。下面是一些以前的答案,它们是关于将你的工作分成几个块,用一个短的计时器间隔隔开,这样事情基本上可以永远运行


你能创建一个例子吗?脚本具体做什么?为什么运行需要几分钟?它是否向全局范围添加了大量数据?一到六分钟?它到底在做什么?我刚刚做了一个例子……它需要几分钟,因为我希望它需要几分钟……这是建议吗?但如果我放了20次以上,它就不会告诉我了上次
alert()
好的,我明白你的意思了…所以它不会给出“脚本没有响应”的消息…我的脚本没有给我这个消息!它从来没有这样做过,一次也没有!就像我说的,它运行,做所有事情…但是如果我将它设置为运行15或20次以上…它就会停止!不会给出任何消息、警告或错误!(我知道它不会继续运行,因为页面不会更改!如果它正在运行,我会在页面上看到“移动!”@JosEvora-你在哪个浏览器中看到它?当你说它“停止”时,您的确切意思是什么?停止执行脚本,但页面处于活动状态,您可以与之交互?浏览器挂起并变得无响应?控制台中是否显示任何错误?也可能是脚本占用了太多内存,但我们必须查看整个代码才能对此进行评论。您是否查看了CPU mo查看CPU是否仍然繁忙?嗯,页面响应良好!只是没有脚本运行!控制台不会显示错误…我正在使用FireFox 25.0.1,并运行FireBug 1.12.5中的脚本!计算机上的资源永远不会“过度使用”…一切都是绿色的!就像浏览器在运行15分钟后忽略脚本一样或者20次…:\@JosEvora-我更熟悉“无响应脚本”Chrome中的消息。可能是Firefox在运行太长时间后停止运行,或者是出于其他原因。我建议您将脚本更改为更小的块,由计时器分隔,正如我在回答中提供的各种链接所显示的那样,看看这是否解决了您的问题?我已经用这种方式运行了很长一段时间。@JosEvora-它也出现了确认Firefox中的无响应脚本消息可能已在浏览器中关闭,并且可以配置最大运行时间。有关详细信息,请参阅。