簡體   English   中英

IE8中未觸發window.onload事件

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM