不同浏览器对终止脚本执行有不同的判断标准: IE监控脚本执行的语句和数量。当执行的语句的数量达到最大限定值,默认为500万,就会弹出终止脚本运行的对话框。 Firefox监测脚本运行的总时间。当超过预先设定的时间,默认为10秒,就会终止脚本运行的对话框。 Safari也是通过执行时间来检测脚本是否为长时间运行。默认超过设置为5秒,超时就会弹出终止脚本运行的对话框。 Chrome 1.0没有限制JavaScript允许执行的最长时间。当出现内存不足时进程就会崩溃。 Opera是唯一没有提供监测长时间运行脚本这种保护功能的浏览器,允许脚本持续执行直到完成。
如果看到终止脚本运行的对话框,这就表示JavaScript代码需要重构,或者有性能漏洞。 超过100ms的脚本执行时间的网页几乎肯定会让用户感觉运行速度过慢。