2012-05-02 102 views
7

我最近遇到了应用程序中缓慢响应的脚本错误,我觉得有必要对应用程序进行配置以确定需要改进的地方。我想要一个长期的解决方案,而不是一个骇人的解决方案。我试过了Firebug Profiler,但由于应用程序使用了很多jQuery,所以我收到了很多关于匿名调用的报告,这些报告实际上是我期望的。分析jQuery应用程序

我也在网上发现了一些关于John Resig创建的探查器的报告,但是我发现的链接全部死了。

所以我的问题是:

  1. 什么来分析一个jQuery应用程序的最佳途径?
  2. 是否有任何开源专用工具/脚本来实现这一目标?

回答

1

于是挖了一下后,我越发现由John Resig的给出另一种解决方案。他正在使用名为FireUnit的单元测试扩展(Firefire)(http://fireunit.org/),该扩展证明是相当不错的。

如果你看看在给出的例子:

http://ejohn.org/blog/function-call-profiling/

而且还要检查测试页,他将提供:

http://ejohn.org/files/jquery-profile.html

什么你会得到一些不错的结果,如波纹管:

.addClass(“test”); 52
.addClass(“test”); 102
.removeClass(“test”); 102
.removeClass(“test”); 52
.css(“color”,“red”); 299 O(3n)
.css({color:“red”,border:“1px solid red”}); 597 O(6n)
.remove(); 198 O(2n)
.append(“test”); 599 O(6n)
.show(); 982 O(10n)
.hide(); 968 O(10n)
.html(“test”); 104
.empty(); 100
.is(“div”); 109
.filter(“div”); 214 O(2n)
。找到( “分区”); 300 O(3N)

我已经成功地多个应用程序中集成这个和成绩已经令人满意了。唯一的缺点是你只能使用Firefox内的插件。但这仍然是一个不错的工具。

0

如前所述here

IE,Chrome和Safari都建在剖析在web开发 工具与浏览器出货。对于Firefox,您可以使用Firebug。 也有用的可能,因为你使用的jQuery,这意味着你的 分析报告将充满匿名功能和类似的, 使它很不可读,John Resig's jQuery profiling plugin,这将给你一个更清楚的输出在这件事上。

+0

正如我在后指出上述,我已经检查约翰Resig's分析器,它链接。但我得到的是一个404页面没有找到下载位置:) –

+0

试试这个:http://archive.plugins.jquery.com/project/profile – adrien

+0

因为这个时候没有答案已经给出我会接受你的作为正确的一个,虽然我可能会很快返回一个赏金 –

0

我创建了一个工具,做相当正是你需要的:http://yellowlab.tools

启动测试,请点击“JS时间轴”选项卡上,并记录该页面的加载过程中访问DOM每一个jQuery函数。它也跟踪vanilla JS函数,所以你可以理解jQuery背后的魔力。

非常有用,可以帮助优化一些jQuery代码的性能。

希望我的回答不会来得太晚了:)

+0

一个好的答案永远不会太迟:)我会检查它,如果它比我提供的波纹管更好,肯定会标记你的答案是正确的 –