I want to benchmark some Javascript code in the browser, but it may trigger Firefox\'s \"Warning: Unresponsive script\" popup. This allows the user to click \"Stop script\"
You have to break up long actions into smaller ones and perform them in turns. This will also allow a better progress indication.
http://www.sonofsofaman.com/hobbies/code/settimeout.asp
The below code solved that problem for me...
<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>
You can use the script from this question to break processing long lists into smaller chunks:
How can I give control back (briefly) to the browser during intensive JavaScript processing?
See in blog of Nicholas C. Zakas What determines that a script is long-running? (at 2009/01/05)
Speed up your JavaScript, Part 1 http://www.nczonline.net/blog/2009/01/13/speed-up-your-javascript-part-1/
there are the reasons and the ways how to avoid the dialog
In firefox's address bar type about:config
You want to change dom.max_script_run_time to be large enough for your scripts to run.