2012-05-02 101 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

一個好的答案永遠不會太遲:)我會檢查它,如果它比我提供的波紋管更好,肯定會標記你的答案是正確的 –