jQuery在Firefox中飙升CPU

时间:2009-10-08 21:42:41

标签: jquery debugging

我的js文件中有很多jQuery脚本,现在当我在Firefox中打开页面时,我遇到了CPU的问题。

查看Firebugs控制台面板,我看到以下错误: 过多的递归。

然后它引用我的jquery-1.3.2.min.js文件。

如何发现哪个jQuery函数会触发CPU峰值?

我知道我可以停用一个和一个jQuery函数,直到找到原因。我只是希望有更好的调试方法。

更新

当我从Firebug打开脚本时,我发现jquery-1.3.2.min.js文件属于另一个站点(我在浏览器中打开的许多pges之一)。

我被骗了,因为浏览器只有在我打开自己的页面时才会飙升。 是否会发生这种情况,然后浏览器加载jquery-1.3.2.min.js jquery-1.3.2.js?

2 个答案:

答案 0 :(得分:1)

这也发生在IE8中吗? IE8有一个分析器,可以告诉你在每个javascript函数上花了多少时间以及它们被调用了多少次。 (点击f12然后点击分析器然后点击开始分析并加载你的页面)

编辑:听起来你可能会将一些意想不到的东西传递给jQuery,导致jQuery无限重复。

您可以尝试使用此logging plugin来查看崩溃前发生的事情

答案 1 :(得分:0)

太多的递归意味着某些函数,比如f(),正在调用自身,然后再调用自己太多次。或者f()调用g()和g()调用f()等...每个函数调用都会导致堆栈的增长。