2009-12-03 44 views
1

當我使用jQuery或它的插件,我應該只是補充我應該在我的Web服務器上放置Jquery文件,還是隻在我的PHP文件中通過jquery.com引用它們,哪個更好?

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> 
<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></script> 

或者我應該下載兩個文件並上傳既到我的網絡上,讓我的Web服務器可以在本地取這兩個文件?哪個更好?爲什麼?

回答

8

比這更好,讓谷歌爲你託管它們。見What is the AJAX Libraries API?。您可以異步加載它們或僅引用靜態文件。

For example

http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js 

儘管谷歌已經提供了這個服務,所以它的精細使用它,我不知道jQuery有那麼除非有人明確地說:「你可以從我的網站鏈接的東西」,你應該犯錯謹慎而不是(可能)竊取他們的帶寬。

+1

+1,Cletus是正確的。 Google的jquery文件託管在一個非常瘋狂的CDN上,該CDN被路由到許多位置,以便儘快將文件發送給用戶。 – mmcdole 2009-12-03 02:10:29

+0

只是要具體:我相信jQuery項目會更喜歡人們不從他們的服務器熱鏈接腳本文件。如果每個人都這樣做,那麼他們的賬單會很快達到天文數字。 – dgw 2010-07-19 22:07:43

0

在本地或外部託管jQuery文件(通常通過google)都有有效參數。

反對從外部服務器鏈接的主要觀點是,您正在爲您的網站添加另一個故障點,但是再次,谷歌並不經常停機。

由於谷歌使用CDN作爲文件,並且可以並行下載外部文件,因此贊成的觀點略爲提升。 Here's a great article,這使得這種設置的情況。

如果您不確定,請嘗試下載FireBug並查看您獲得的性能提升的種類(如果有的話)。

0

考慮另一個想法(取決於您的網站的受衆)是您的帶寬成本。如果您必須將文件發送到大量的客戶端,它可以加起來。其他人(如谷歌)承載這意味着他們正在處理這個問題,而不是你。

0

有點不同,如果你有很多鬆散的JS文件(jQuery插件?),那麼你也可以考慮將它們全部縮小併合併到主機上的一個文件中,並使用遠期過期時間和gzip編碼。這節省了冗長的(外部)請求。在部署之前或在服務器啓動過程中,可以輕鬆實現縮小和合並。

3

我知道這有點愚蠢,但是,如果你選擇外部主機,只要確保你永遠不需要在沒有互聯網連接的地方展示你的網站。

這是非常不尋常的,但有一次給我一個。我爸爸在沒有互聯網的演示室裏向客戶展示已經運行的網站的新版本。

另一種情況是內聯網站點。如果互聯網關閉,沒有人能夠連接到內部網,因爲它有一個鏈接到谷歌.js或其他地方。

:d

0
從外部依賴性和失敗的另一個點,每克里斯點,在不同的域引用文件

除了意味着更多的DNS查找。正如BalusC所提到的那樣,合併文件(儘可能)和縮小也可以提高性能。良好的信息很多可以在http://developer.yahoo.com/performance/rules.html被發現有很多可用的非常有用的工具,以及其中的一些如下:

相關問題