此页面上的脚本导致 ie 运行缓慢

IT技术 javascript internet-explorer
2021-02-19 21:44:17

问题出在标题中 - IE 行为不端,并说有一个脚本运行缓慢 - FF 和 Chrome 没有这个问题。

我怎样才能找到问题。.那个页面上有很多JS。手动检查不是一个好主意

编辑:这是我正在处理的项目中的一个页面......但我需要一个工具来找到问题。

结束:结果是 UpdatePanel - 不知何故,它会变得“困惑”并且需要很长时间来处理某些事情。我只是把它扔出窗外 - 从现在开始只会使用 JQuery :D。

我选择 Remy Sharp 的回答是因为我真的不知道这个工具,而且它看起来很酷。

6个回答

不同浏览器对长时间运行的脚本的检测方式不同:

  • 一旦执行了 500 万条语句,IE 就会发出警告(MSDN 上的更多信息
  • 如果脚本花费的时间超过 10 秒,Firefox 会发出警告(有关 MDN 的更多信息
  • 如果脚本花费的时间超过 5 秒,Safari 将发出警告
  • Chrome (1.0) 没有设置限制,只会继续尝试,直到出现 OutOfMemory 异常,此时它崩溃
  • Opera 将永远运行下去,没有任何警告。

Nicholas Zakas 写了一篇关于这个主题的优秀文章。

因此,避免这些问题的最佳方法是减少循环、递归和 DOM 操作。

为自己准备一份 IBM Page Profiler:

https://www.ibm.com/developerworks/community/groups/service/html/communityview?communityUuid=61d74777-1701-4014-bfc0-96067ed50156

它是免费的(总是胜利)。在后台启动它,给它几秒钟,然后在 IE 中刷新页面。返回分析器,它会列出页面上使用的所有资源,并为您提供详细的配置文件信息 - 特别是在 JavaScript 需要很长时间执行的情况下。

这应该是找到问题根源的良好开端。

如果脚本标签是内联的,我建议创建文件的本地副本,并尽可能将脚本标签分开以分隔文件。

上面的链接似乎不再有效,我无法通过 Google 找到有效链接。任何人都知道pagedetailer 应用程序是否仍然可以在任何地方使用?
2021-04-25 21:44:17
@CoryHouse 在 ibm 的网站内进行了一些谷歌搜索和搜索,并再次找到了那个坏男孩。
2021-04-30 21:44:17
但是这怎么能解决这个问题,因为这个问题是由于代码块页面分析器中的一些 ong 运行 javascript 或无限循环造成的,只有 gicves 网络部分
2021-05-12 21:44:17
我可能遗漏了一些东西,但是您链接的工具似乎没有执行您建议的 javascript 分析。它所做的只是提供有关加载了哪些资源的详细信息。
2021-05-18 21:44:17
该工具用于分析整个页面。所以它分解了各个组件,告诉我请求时间、交付时间和渲染(或处理时间)——无论是在空缓存还是已准备好的缓存上。这将有助于识别缓慢的组件,并有助于对您所做的任何更改进行基准测试。
2021-05-18 21:44:17

删除一半代码,看看它是否仍然发生。如果没有,它在您删除的一半中。重复直到找出导致问题的代码块。

已经尝试过这个 - 但仍然没有运气......会继续尝试。我希望有某种工具。
2021-04-23 21:44:17
为我工作。罪魁祸首是选择性。这是修复:- github.com/keithclark/selectivizr/pull/51/files
2021-05-10 21:44:17

导致这种情况的通常是无限循环。检查您的循环及其退出条件。

对于 IE,对话框基于处理的 JS 命令数量。有关更改默认值的信息和方法,请参见此处:http : //support.microsoft.com/kb/175500