使用哪个工具来发现JS / jQuery消耗了太多资源或无限循环?
更具体地说,我对此模板存在问题:http://pages.revox.io/dashboard/latest/html/
在Firefox 46.0.1上打开该页面几分钟后冻结页面。我无法发现哪个JS / jQuery导致Firebug冻结,因为它似乎是一个简单消耗太多资源的脚本,而不是一个简单的冻结永不停止的循环(这会触发“Script XYZ也在采取行动”)长期执行“消息”
答案 0 :(得分:1)
用于Ubuntu的Firefox 46.0似乎内置了一个非常好的调试器。
使用系统监视器可以很容易地看到您的页面需要相当大的内存。 如果你转到Tools-> Web Developer-> Performance并在一段时间内记录你的页面,那么在Firefox中生成一个调用图是相当容易的。 一旦停止录制,只需选择左侧菜单中的数据和调试框顶部的Call-Tree。 它列出了哪些函数使用最多的处理器时间。
在我看来,无论Gecko功能如何,它都非常昂贵。
此外,控制台指出了一些有趣的事情:
改变对象的[[Prototype]]会导致代码运行得非常慢;而是使用Object.create d3.v3.js:3:157
创建具有正确的初始[[Prototype]]值的对象不推荐使用getPreventDefault()。请改用defaultPrevented。 HTML
传递给getElementById()的空字符串。
也许解决控制台指出的问题有助于解决您的问题。