Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用于发现哪个JS/jQuery脚本正在冻结页面的工具或技术_Javascript_Jquery - Fatal编程技术网

Javascript 用于发现哪个JS/jQuery脚本正在冻结页面的工具或技术

Javascript 用于发现哪个JS/jQuery脚本正在冻结页面的工具或技术,javascript,jquery,Javascript,Jquery,哪个工具用于发现JS/jQuery消耗了太多资源或处于无限循环中的内容? 更具体地说,我对该模板有一个问题: 在Firefox 46.0.1上打开该页面几分钟后会冻结该页面。我无法发现是哪个JS/jQuery导致了Firebug的冻结,因为它似乎是一个简单地消耗了太多资源的脚本,而不是一个简单的无休止的冻结循环(这将触发“脚本XYZ执行时间太长”消息)Firefox46.0forUbuntu似乎内置了一个非常好的调试器 使用系统监视器很容易看到您的页面,这需要相当大的内存。 如果您进入工具->W

哪个工具用于发现JS/jQuery消耗了太多资源或处于无限循环中的内容?

更具体地说,我对该模板有一个问题:


在Firefox 46.0.1上打开该页面几分钟后会冻结该页面。我无法发现是哪个JS/jQuery导致了Firebug的冻结,因为它似乎是一个简单地消耗了太多资源的脚本,而不是一个简单的无休止的冻结循环(这将触发“脚本XYZ执行时间太长”消息)Firefox46.0forUbuntu似乎内置了一个非常好的调试器

使用系统监视器很容易看到您的页面,这需要相当大的内存。 如果您进入工具->Web开发者->性能并记录页面一段时间,那么在Firefox中生成调用图是相当容易的。 停止录制后,只需选择左侧菜单中的数据和调试框架顶部的调用树。 它列出了使用最多处理器时间的函数的分类

在我看来,无论Gecko函数是什么,它都非常昂贵

此外,控制台还指出了一些有趣的事情:

改变对象的[[Prototype]]会导致代码运行非常缓慢;而是使用object.create d3.v3.js:3:157创建具有正确初始[[Prototype]]值的对象

不推荐使用getPreventDefault()。改用defaultPrevented。html

传递给getElementById()的空字符串


也许解决控制台指出的问题有助于解决您的问题。

我看到Firefox中的内存使用稳步增加,而Chrome中的内存使用却没有增加。我建议在页面中列出自己运行的东西(可能是在计时器上),然后开始逐一注释它们。在启动任务管理器的情况下运行该页面,以便可以查看Firefox的总内存消耗。当您发现删除一个动态元素会导致内存消耗停止增加时,您将找到一个罪魁祸首,您可以更详细地检查该问题以找到原因。34单独的JS包括哪些?找到问题的老方法是先把它们全部注释掉,然后一次把它们加回一个,直到问题出现。(或者相反:一次注释一个,直到问题停止。)由于页面冻结的本质是一个脚本或代码块,它会耗尽所有的资源,因此在发生之后,你真的不能做太多。我建议您尝试设置一个计时器,告诉您脚本是否花费了太长的时间,但定义“太长”完全是武断的。我强烈建议调试你的代码,或者至少试着省略可能有问题的代码,试着通过反复试验找出你的bug可能是什么。编辑:为什么每页加载这么多文件?如果它在ff中崩溃,可能会在chromes调试器中签入,那么性能映射工具非常好,您可能会在那里看到邪恶的代码片段。