[英]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.