在IE中分析长时间运行的javascript

时间:2011-02-19 19:59:37

标签: javascript internet-explorer

我有一个页面,其中IE确定没有响应的javascript。 Firefox在同一页面上运行良好。我该如何调试此问题?我不确定Firebug的分析器在评估问题时是否准确无误?

3 个答案:

答案 0 :(得分:2)

IE8还有一个可以使用的调试器;只需按F12键即可开始踩踏它。您还可以使用console.log添加日志记录语句,您可以看到IE的控制台输出。一旦找到长时间运行的JS,就可以通过setTimeout调用将其分解。

此知识库文章解释了长时间运行的脚本计时器的工作原理:http://support.microsoft.com/kb/175500

  

Internet Explorer现在跟踪已执行脚本语句的总数,并在每次启动新脚本时重置该值,例如从超时或事件处理程序,对于带有脚本引擎的当前页面。当该值超过阈值量时,Internet Explorer将显示“长时间运行的脚本”对话框。 Internet Explorer不检查每条指令是否超出限制。脚本引擎会定期使用执行的语句轮询Internet Explorer,并且Internet Explorer会检查是否超出限制。

请注意,本文中介绍的修补程序仅针对您的本地计算机,并且为其他用户修复您的代码(也就是说,它会告诉您如何更改注册表设置以延长计时器...这对你没用。)

答案 1 :(得分:2)

尝试使用此免费工具在IE中分析JavaScript:http://ajax.dynatrace.com/ajax/en/

John Resig对此进行了审核:http://ejohn.org/blog/deep-tracing-of-internet-explorer/

它具有压倒性的功能。我希望Firebug如此详细。

答案 2 :(得分:1)

如果您使用的是IE,则可以使用内置的分析器。按F12打开开发人员工具栏,在“脚本”选项卡上,有一个按钮,允许您像在Firebug中一样进行配置。您还可以单击“开始调试”按钮逐步执行代码并查找错误发生的位置。