我從來沒有完全理解這一點,如果JavaScript負載的網頁加載後不加載任何函數,那麼使用window.onload
有什麼意義?JavaScript window.onload有什麼意義?
window.onload = function() {
alert("hello");
};
我從來沒有完全理解這一點,如果JavaScript負載的網頁加載後不加載任何函數,那麼使用window.onload
有什麼意義?JavaScript window.onload有什麼意義?
window.onload = function() {
alert("hello");
};
在文檔加載過程結束時的負載事件觸發。在 這一點上,文檔中的所有對象都在DOM中,並且所有圖像,腳本,鏈接和子幀都已完成加載。
所以,如果你需要確保一切都加載,比這是事件,你需要等待着火。如果您準備好文檔或將腳本放在主體底部,則並非所有內容都可以完全加載。
你爲什麼要使用它。早在過去,這是知道頁面加載的唯一真正方法。但主要原因在於,如果您確實需要依靠所有內容來計算元素的高度/位置,則需要確保它們完全在那裏並呈現。如果你準備好了,高度可能會不同。
簡單的測試是在瀏覽器中加載大圖。讀取身體末端的高度,準備好文件並上傳,看看數值是什麼。 (注意,一旦圖像緩存,瀏覽器將具有合適的高度)
var img = document.getElementById("x");
console.log("inline:", x.height);
$(function(){ console.log("ready:", x.height); });
window.addEventListener("load", function() {
console.log("load:", x.height);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img id="x" src="https://upload.wikimedia.org/wikipedia/commons/7/74/Earth_poster_large.jpg?ddddddd" />
,如果你在一個單獨的文件中有一個腳本,或者如果你有,你要首先加載其他資源不同的文件可能是有用的。
它會告訴你,當頁面加載... – epascarello
的JavaScript'''。通過將代碼放在「加載」處理程序中,延遲執行直到瀏覽器加載了所有頁面構件(css,圖像等)。 – Pointy
但是,您不需要知道什麼時候通過創建一個新的函數來加載它,這就是註釋的用途。 –