2012-03-08 67 views
0

我有一個網頁,內容豐富,如圖形和JavaScript。現在問題在於我的網頁加載速度太慢,尤其是在網絡連接速度較慢的情況下。現在我的網頁底部有一個jQuery滑塊,這是我網站上最不重要的項目。 現在... 有沒有一種方法可以推遲或延遲加載整個滑塊(它具有div ID作爲父元素),直到其他所有內容都加載到我的頁面上之後,而不是與其他更多重要內容?延遲元素的加載開始

+0

定義「其他一切都裝在我的網頁」。你指的是* $。ready *嗎? – 2012-03-08 07:49:52

回答

1

當然,你可能想要查找javascript loader,如RequireJSLABjs

原理是你注入加載你的JavaScript的腳本標籤。例如,你可以有下面的代碼作爲最後一個元素你</body> - 標記之前:

<script type='text/javascript'> 
var head = document.getElementsByTagName("head")[0];   
var newScript = document.createElement('script'); 
newScript.type = 'text/javascript'; 
newScript.src = 'url/to/script.js'; 
head.appendChild(newScript); 
</script> 
+0

我認爲「頭」元素是指包含我的JS滑塊的div?因此,調用/加載滑塊的腳本位於代碼層次結構的底部(位於/ body標籤的上方),這使得它在最後加載?實際上,'head'是指你的html文檔的head標籤。我想讓它在所有其他東西都完全加載完畢後纔開始加載 – DextrousDave 2012-03-08 09:36:09

+0

實際上,'head'是指你的html文檔的head標籤。將這最後一個放在身體標記中可確保最後解析滑塊組件。 JavaScript解析後,瀏覽器將立即開始加載腳本,但它會將其異常地加載到任何剩餘的對象中。 在滑塊可以初始化之前是否需要加載某個組件? – flitig 2012-03-09 09:21:41

+0

我偶然發現了一篇關於[異步思考javascript]的CSS技巧的優秀文章(http://css-tricks.com/thinking-async/) – flitig 2012-03-09 10:37:02