window.onload 只能綁定一個處理函數,後綁定會覆蓋前者。需判斷是否已被佔用,採用相容寫法。

function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
oldonload();
func();
};
}
}
// 使用方式
addLoadEvent(function() { console.log("第一個"); });
addLoadEvent(function() { console.log("第二個"); });
addLoadEvent(function() { console.log("第三個"); });
// 推薦:addEventListener (IE9+)
window.addEventListener('load', function() { /* ... */ });
window.addEventListener('load', function() { /* ... */ });
// 或使用 DOMContentLoaded (更早觸發,不等待圖片)
document.addEventListener('DOMContentLoaded', function() { /* ... */ });
addEventListener 支援多監聽器、捕獲/冒泡階段控制,是現代標準做法。