如何调试脚本导致网页需要很长时间才能加载?

时间:2017-05-25 22:15:03

标签: javascript debugging internet-explorer firefox browser

我公司的内部网站有一个需要很长时间才能加载的页面。当我使用IE 11查看页面时,将显示以下消息:

  由于长时间运行的脚本,

[domain]没有响应

消息对话框中有一个"停止脚本"按钮但没有"调试"按钮。

此站点使用过去构建的大量JavaScript脚本,我需要对其进行调试以尝试确定其中哪一个导致此问题。

我的问题是IE不允许我在页面加载之前启动F12开发人员工具,如果在加载页面然后重新加载页面之前打开F12工具,调试工具窗口就会消失。

我想问的问题:

  1. 如何让F12工具保持开放状态以便对其进行分析 页面?
  2. 或者有没有办法调试在页面加载时运行的脚本 Firefox(v.45.8)调试工具?

1 个答案:

答案 0 :(得分:1)

保持F12开发者工具的开放性:

  • 要让Internet Explorer工具栏保持可见,请点击 Alt ,点击查看,指向工具栏,然后选中菜单栏,然后点击锁定工具栏。来自Microsoft的Info

在IE中调试替代方案:

  • 如果您有权访问文件,则可以将此标记粘贴到您要调试的网页上,然后它会打开Firebug<script type="text/javascript" src="https://getfirebug.com/firebug-lite.js"></script>

  • 如果您无法访问文件,则仍可以使用Firebug Lite bookmarkletjavascript:(function(F,i,r,e,b,u,g,L,I,T,E){if(F.getElementById(b))return;E=F[i+'NS']&&F.documentElement.namespaceURI;E=E?F[i+'NS'](E,'script'):F[i]('script');E[r]('id',b);E[r]('src',I+g+T);E[r](b,u);(F[e]('head')[0]||F[e]('body')[0]).appendChild(E);E=new%20Image;E[r]('src',I+L);})(document,'createElement','setAttribute','getElementsByTagName','FirebugLite','4','firebug-lite.js','releases/lite/latest/skin/xp/sprite.png','https://getfirebug.com/','#startOpened');

  • 使用IEDiagnosticsAdapter。它是一个代理,使工具可以使用Chrome远程调试协议调试和诊断IE。

  • 安装Debug Bar,它为内置开发人员工具提供扩展功能集。
  • 安装IE Tester,它模拟各种IE实例(版本),并使用其内置的调试栏。通过这种方法,您还可以精确定位特定于版本的问题。

另外,您可以查看Microsoft的How to troubleshoot script errors in Internet Explorer文章。