2012-08-03 50 views
-1

我有一個問題要討論 - 添加額外時JavaScript庫和CSS文件的某些部件,插件等,jQuery的圖書館 - 性能

例如頁面的性能和速度:我想一個簡單的日期選擇器和附加timepicker我輸入字段。

我不得不整合的是JQuery UI庫,timepicker腳本,+2個不同的css文件。

我認爲這是很多額外的代碼。我沒有很多速度方面的經驗,所以這就是爲什麼我問你們,所有額外的東西影響頁面速度和性能多少?

變化顯着嗎?

+2

JavaScript以數百萬運算/秒運行。除非你包含一個非常差的庫/插件或圖像重載的CSS,差異將在毫秒的小數。當然,加載時間不包括在內。 jQuery和其他流行的庫通常已經緩存在用戶的瀏覽器中,因此使用CDN託管的庫應該只需幾毫秒就可以從CDN中檢索302狀態。 – 2012-08-03 10:01:09

+3

性能最大的影響將來自額外的服務器請求抓取這些文件。如果可能的話,在啓動時儘可能少保存.js和.css文件。例如,我通常將我的所有javascript保存在名爲scripts.js的文件中,並將所有.js插件保存在一個名爲plugins.js的文件中 – ninja 2012-08-03 10:03:26

回答

1

如何整合代碼將比代碼存在的事實更重要。如果您將它們全部保存在單獨的文件中並將它們包含在頁面的頭部,那麼它可能會使頁面放慢一點(僅僅是從往返取代碼)。

如果可以的話,你應該: - 合併與你現有網站的CSS的CSS(這應該是在頭部和緩存) - 把所有的腳本的時間選擇器,並支持庫到一個單一的js文件 - 在你的身體的末端異步加載javascript,以免它阻止加載任何頁面內容

您還需要小心如何將代碼附加到DOM上的元素。如果你有一個相當複雜的DOM,那麼像$(「。mycalendar」)。xxx這樣的東西可能會非常昂貴,特別是在較老的IE瀏覽器上。如果可能的話,爲元素使用一個ID並選擇使用它,否則JQuery將最終遍歷整個DOM(是的,JavaScript執行本身很快,但是任何觸及DOM的東西都不是)。