P粉3546029552023-08-23 14:45:25
仍然有一個醜陋的解決方案(遠不如使用框架或addEventListener
/attachEvent
)是保存目前的onload
事件:
function addOnLoad(fn) { var old = window.onload; window.onload = function() { old(); fn(); }; } addOnLoad(function() { // 在这里编写你的代码 }); addOnLoad(function() { // 在这里编写你的代码 }); addOnLoad(function() { // 在这里编写你的代码 });
請注意,像jQuery這樣的框架將提供一種在DOM準備好時執行程式碼的方法,而不是在頁面載入時執行。
DOM準備好意味著你的HTML已經載入完成,但是外部元件(如圖片或樣式表)尚未載入完成,這使得你可以在載入事件觸發之前被呼叫。
P粉2535186202023-08-23 10:50:31
大部分提出的「解決方案」都是針對Microsoft的,或是需要龐大的函式庫。這是一個好的方法。它適用於符合W3C標準的瀏覽器和Microsoft IE。
if (window.addEventListener) // W3C标准 { window.addEventListener('load', myFunction, false); // 注意 **不是** 'onload' } else if (window.attachEvent) // Microsoft { window.attachEvent('onload', myFunction); }