2013-04-16 34 views
0

我已經搜索了網頁,發現了一些答案,但沒有一個工作。我想讓我的網站加載速度更快。我縮小了我的圖像。現在我正在使用由谷歌託管的jquery和使用版本。儘管它不在我的網站上託管,但它是網站中最重的文件(32kb),它在任何其他圖像之前加載第二個文件。我曾嘗試體結束標記之前添加一個JavaScript這樣的:如何最後加載jquery

<script language="javascript"> 

     var e=document.createElement('script'); 
     e.setAttribute('type','text/javascript'); 
     e.setAttribute('src','http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'); 

     document.body.appendChild(e) 

     var f=document.createElement('script'); 
     f.setAttribute('type','text/javascript'); 
     f.setAttribute('src','myjs.js'); 
     document.body.appendChild(f) 
    </script> 

在Firebug的控制檯,它表明jQuery是最後加載。但它也顯示未捕獲的引用錯誤$未定義,這是我猜jquery未正確加載時得到的錯誤。

如果我把這兩個js文件頭標籤內,一切工作正常。

我怎樣才能完成這個任務?

謝謝。

+0

關於未捕獲的參考錯誤$。你必須確保你的jQuery庫引用我在你的任何腳本之前先加載。爲了提高性能,你在哪個平臺上?如果你在.NET上,你可以使用捆綁。其他嘗試CDN。 – HaBo

+4

只需像普通人一樣將它們添加到頭部即可。 – adeneo

+3

您是否將所有JavaScript也推遲到頁面末尾?如果您將jQuery推遲到頁面加載結束但在任何非延遲(即不是onload)上下文中引用jQuery,那麼您將遇到該錯誤。 – Dogoferis

回答

1

加載JavaScript文件動態使它們異步加載,所以你不能保證哪個庫會首先加載。如果你需要維持秩序(因爲你總是將像jQuery庫),你需要用src屬性添加script標籤頁,像這樣:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<script type="text/javascript" src="myjs.js"></script> 

如果添加腳本標記作爲最後元素body元素而不是head,它會使加載的外觀更快(漸進式增強)。

編輯作爲其中一位評論者指出,你可以閱讀this question的答案以獲得更多細節。

+0

你的建議聽起來更傾向於解決我的問題。不是很好的JavaScript ..我怎麼去添加腳本標籤和src屬性在提供的腳本? –

+0

我編輯了我的答案以包含腳本標記。希望這可以幫助! – cfs

+0

這工作..謝謝 –