【发布时间】:2011-11-28 18:58:57
【问题描述】:
当您在 Chrome 中的 jsfiddle 中获得无限循环时,您唯一的选择(据我所知)是关闭选项卡。当然,这意味着您将丢失当前窗口中的所有工作!有没有简单的方法来停止无限执行的脚本?
- 我打开了开发者工具,因为我正在进行一些调试。
- 我可以暂停脚本并单步执行循环。
- 我找不到停止脚本的地方。
- 我无法修改脚本或变量来停止无限循环(因为脚本执行发生在单独域的 iframe 中,因此不允许使用 JavaScript 修改 iframe 中的数据并在控制台中生成异常) .
这一切都开始了,因为我决定在我的循环中交换方向
for (var c = 0; c <= 11; c++)
到
for (var c = 12; c > 0; c++)
但正如你在上面看到的,我忘了把它从c++ 改成c--。
有什么想法吗??我的标签仍然打开,我希望在不关闭标签的情况下将其取回:-)
【问题讨论】:
-
不能在调试器中修改c的值吗?
-
Firefox 检测到无限循环并停止它们
-
Chrome 最终应该会问你是否要杀死脚本,如果你放手的话。
-
@ryudice 很高兴知道,但这对他没有帮助。我刚刚复制了一个无限循环,但还没有找到介于两者之间的方法。还在尝试。
-
@methodin:它已经运行了大约 10 分钟(c =
9494127),它仍然没有问我是否要停止脚本。我必须先将注意力集中在那个窗口上吗?编辑:我得到了弹出窗口,但唯一的选择是Kill Pages,而不是停止脚本。这将丢失我的所有数据。
标签: javascript google-chrome infinite-loop jsfiddle