簡體   English   中英

結合內聯腳本<head>

[英]combining inline scripts in <head>

我在我的HTML部分有以下代碼,並想知道如何清理它以優化加載。

<script type="text/javascript">

 function downloadJSAtOnload() {
 var element = document.createElement("script");
 element.src = "js/jquery.orbit-1.2.3.min.js";
 document.body.appendChild(element);
 }

 function downloadJSAtOnload() {
 var element = document.createElement("script");
 element.src = "http://code.jquery.com/jquery-latest.min.js";
 document.body.appendChild(element);
 }

 if (window.addEventListener)
 window.addEventListener("load", downloadJSAtOnload, false);
 else if (window.attachEvent)
 window.attachEvent("onload", downloadJSAtOnload);
 else window.onload = downloadJSAtOnload;

</script>

如果您的目標是允許在加載腳本之前顯示頁面,那么有一種簡單的方法:只需將腳本標記(按照適當的順序)放在body的最末端,就在結束之前</body>標簽:

<!-- ...content of page... -->
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="js/jquery.orbit-1.2.3.min.js"></script>
</body>
</html>

在所有其他資源完全加載(或加載失敗)之后, window對象上的load事件在頁面加載過程中發生得很晚。 所有圖像,包括前景和背景等。

通過將腳本放在正文的末尾,您可以在合理的時間將它們放入瀏覽器的下載隊列中,但不會讓瀏覽器在執行初始頁面呈現之前等待腳本到達。 您也可以獲得排序(您也可以在script元素上使用defer屬性,但並非所有瀏覽器都支持它)。 更多: YUI加速網站的最佳實踐

您已在評論中詢問何時使用load事件進行腳本加載。 我的回答是:我從來沒有理由這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM