2012-08-27 58 views
2

我想知道爲什麼人們連接jQuery的當前版本上他們的網站像下面jQuery最新庫或當前版本庫?

//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js 

,而不是安裝的是得到由它更新自己像下面

http://code.jquery.com/jquery-latest.js 

請讓我知道你的想法版本這個。謝謝

+1

因爲它最新的版本,每次檢查,並使用腳本一個衆所周知的來源,很多網站使用的,機會是用戶已經有一個特定的腳本已使用訪問另一個網站緩存,後者不緩存腳本腳本的相同來源。 – adeneo

+2

如果版本發生變化,它可能不會與您當前的代碼向後兼容,並且代碼會崩潰。 – ShaunOReilly

回答

2

谷歌API的第一個鏈接是縮小版本,只有136字節,而第二個鏈接是173字節。

使用CDN,主要好處是緩存。如果用戶已經訪問過使用相同CDN和相同腳本的站點,則他們將已經在瀏覽器中緩存腳本,但這需要資源可緩存,並且「最新」版本中沒有過期日期頭,而指定版本號的鏈接將於2013年8月23日星期五到期,換句話說,使用CDN作爲jQuery的主要優點之一是在使用第二個鏈接時丟失了,並且該文件也更大。最重要的是,如果版本之間有所不同,那麼使用在版本更新期間更改的某些jQuery方法的函數可能會因爲CDN自動提供最新版本而中斷。

使用第一個鏈接似乎是一個好主意,但在我看來,使用第二個鏈接並不是,而且您可能會更好地僅在啓用緩存的情況下託管文件。

然後還有其他原因使用CDN:

它增加了並行某些瀏覽器將只從任何給定站點下載3個或4個文件在同一時間。

它減少了您的服務器使用的帶寬量,因爲您基本上從CDN獲得免費帶寬。

它增加了腳本已被壓縮的可能性,並且隨着更多站點使用大型CDN網絡,更多用戶已經可以在瀏覽器中準備好文件,而無需下載它,這會加速您的站點。

它確保有效負載將盡可能小,因爲Google/MS/jQuery可以以各種格式(如GZIP或DEFLATE)預壓縮文件。這使得下載時間非常短,因爲它是超級壓縮的,並且不像在許多常見的Web服務器上那樣實時進行壓縮。

+0

謝謝@adeneo。您能否澄清一下「當您從CDN獲得免費帶寬時,它會減少服務器使用的帶寬量。」謝謝 – nasty

+0

該文件從jQuery/MS/Google CDN下載到用戶計算機,並從服務器而不是服務器下載。這意味着用於下載jQuery的帶寬不會出現在服務器賬單上,如果您支付帶寬費用,許多「高級訪問者」網站都會這樣做。他們基本上爲您提供免費的帶寬下載文件。 – adeneo

+0

另外,請注意,Google API就像jQuery的API有一個選項,只需指定'/ 1 /'作爲版本號而不是'/ 1.8.0 /',它將獲得最新版本。它實際上不鼓勵使用這種方法,因爲它也會放棄緩存的好處,因爲它需要每次獲取文件以確保它是最新版本等。 – adeneo

2

您可以使用該分手的插件時改變jQuery的版本 - 這可能僅僅意味着這種插件已經過時/不好用,但是這樣你就知道你堅持使用哪個版本。順便說一下,Google CDN的速度更快。

相關問題