我的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?
答案 0 :(得分:1)
这也发生在IE8中吗? IE8有一个分析器,可以告诉你在每个javascript函数上花了多少时间以及它们被调用了多少次。 (点击f12然后点击分析器然后点击开始分析并加载你的页面)
编辑:听起来你可能会将一些意想不到的东西传递给jQuery,导致jQuery无限重复。
您可以尝试使用此logging plugin来查看崩溃前发生的事情
答案 1 :(得分:0)
太多的递归意味着某些函数,比如f(),正在调用自身,然后再调用自己太多次。或者f()调用g()和g()调用f()等...每个函数调用都会导致堆栈的增长。