我想在浏览器中对一些Javascript代码进行基准测试,但它可能会触发Firefox的“警告:无响应脚本”弹出窗口。这允许用户在浏览器陷入失控功能的情况下单击“停止脚本”。显示弹出窗口时,当前正在运行的功能已停止。这不是理想的,所以有没有办法以不同方式运行我的基准测试,以便Firefox不会弹出此警告并破坏我的结果?
答案 0 :(得分:11)
在firefox的地址栏中输入about:config
您希望将dom.max_script_run_time更改为足以让脚本运行。
答案 1 :(得分:9)
你必须将长动作分解为较小的动作并轮流执行。这也可以提供更好的进度指示。
答案 2 :(得分:4)
参见Nicholas C. Zakas的博客 什么决定了脚本长期运行? (2009年1月5日)
加速JavaScript,第1部分 http://www.nczonline.net/blog/2009/01/13/speed-up-your-javascript-part-1/
有原因以及如何避免对话
的方法答案 3 :(得分:2)
您可以使用此问题中的脚本将长列表处理为较小的块:
How can I give control back (briefly) to the browser during intensive JavaScript processing?
答案 4 :(得分:0)
以下代码为我解决了这个问题......
<script type="text/javascript">
function downloadJSAtOnload() {
var element = document.createElement("script");
element.src = "deferredfunctions.js";
document.body.appendChild(element);
}
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>