2010-05-09 15 views
8

所以我聽說很好的理由,爲什麼要使用由於緩存谷歌託管的jquery。但我不確定jQuery UI。值得使用Google託管的jQuery UI嗎?

我猜測,在谷歌託管的jQuery UI文件有每個擴展和插件(如Draggable等)。

那麼,如果說你只使用jQuery UI選項卡,那麼這不是一種浪費嗎?用它來獲得所有其他的東西。

另外我看到他們有一些爲css文件的模板。我猜測緩存將是使用託管文件的主要優勢。

回答

7

這是值得的。 jQuery上次更新的博客文章比其他任何文章都更多地使用了「性能」這個詞,並且有很好的理由。圖書館不小,所以表演可能是一個問題。

在Google上託管您的.js是一種指望jQuery成爲JavaScript世界的通用語言的方法,它可以爲您節省寶貴的瀏覽器下載時間。請記住,腳本會阻止並行下載,所以無論何時用戶花費從您那裏下載.js,都是他們無法花費下載其他東西的時候了。

谷歌可能會倒閉,但業界已經在討論冗餘和翻轉服務器以緩解這種擔憂。

+0

有關並行下載的2個問題。首先,如果您使用jquery ui和jquery off Google託管。這不是一個塊並行下載(從同一臺服務器獲取2個腳本)嗎?我也通過一些叫做http合成器的方式來解決這個問題,它會動態地將我所有的javascript文件取出來,並在用戶出現時將它們合併到一個JavaScript文件中。所以只有一個下載會發生。它的價值是否值得呢? – chobo2 2010-05-10 05:55:11

+0

@chobo:實際上,在解析時下載屬於文檔結構一部分的腳本無論如何都會暫停文檔解析,因此腳本無法同時下載。例如,如果首先包含jQuery,然後再包含jQueryUI,則會按照它們在文檔中出現的順序依次下載並分析它們。 – 2010-05-10 09:43:21

2

這取決於。如果該文件已經在用戶的緩存中,那麼它將比從服務器上下載獨立類更快,因爲解析速度>下載速度。如果谷歌託管的文件沒有被用戶緩存,那麼假設連接速率與Google的服務器相匹配(不考慮保存DNS查找:-)),那麼從您自己的服務器上獲取它會更快。

+0

但實際情況是,用戶已經去過另一個在上週左右使用過Google的jQuery庫的網站,所以很有可能他們會緩存它。 – 2010-05-10 04:06:55

+0

雅這就是我的想法。在某些情況下很難決定。 – chobo2 2010-05-10 05:56:55

1

谷歌正確地設置了緩存jQuery庫爲儘可能廣泛的瀏覽器,使用Cache-ControlLast-ModifiedExpiresAgeDate。它可以可靠地緩存在每個普通瀏覽器上。除此之外,服務器是地理位置的 - 用戶將始終從最近的服務器進行初始下載。

而@editor表示,瀏覽器將阻止來自同一主機名的並行資源下載。您的網站JavaScript將並行下載,同時JQuery庫從谷歌域下載給您額外的寶貴毫秒:)

您也將帶寬成本委託給谷歌。假設10000個獨特的訪問者每天打你的頁面 - 這至少是30Mb。一個月? 〜878Mb。一年? 〜313Gb。

+0

如果沒有Google,我們會做什麼... – greenimpala 2010-12-06 23:32:57

相關問題