[英]The window.onload event is not firing in IE8
我精簡了這個javascript,使其盡可能簡單,但仍無法在IE8中使用。
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload !== 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
};
}
}
function callkits() {
alert('Kits: Bug testing');
}
//addLoadEvent(callkits);
//window.onload = callkits;
window.onload = function() {
callkits();
};
在IE8中,這兩種注釋掉的方法或活動方法均無法執行任何操作。 啟用了Javascript。 (在函數外部直接調用alert
確實有效。)我在這里扯頭發。
編輯:
好的,現在更簡單了:
alert('Before onload.')
window.onload = function() {
alert('Onload');
};
alert('After onload');
在Firefox,Opera,Safari和Chrome中,我得到“加載前”,“加載后”,然后顯示頁面,然后顯示“加載”。 在IE8中,最后一步不會發生。 window.onload
根本不觸發。
如果使用HTML defer
命令調用另一個腳本,則標准的onload事件將不起作用。
<script for="window" event="onload" defer="1">products.related();</script>
將上面的內容更改為使用標准的addLoadEvent()
函數即可使其正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.