2013-07-31 47 views
0

我遇到了IE 9+的問題。我有一個複雜的JavaScript加載異步,並應該對「onload」事件做出GET請求。IE上的onload事件(帶有JS錯誤)未解僱

要定義監聽

MY.addEventListener("load", myfunction, false); 

MY.addEventListener = function(sType, callback, bCapture) { 
    if ("undefined" != typeof(window.attachEvent)) { 
    return window.attachEvent("on" + sType, callback); 
    } 
    else if (window.addEventListener){ 
    return window.addEventListener(sType, callback, bCapture); 
    } 
}; 

隨着破發點,我看到在IE瀏覽器,它使用這樣的:

window.attachEvent("onload", myfunction); 

我認爲這是正確的。它適用於所有的我的客戶的網站,除了一個:

在這個網站上,有一個javscript錯誤:

SCRIPT5007: Can not read the property « split » of null or undefined 

我覺得這個JavaScript錯誤避免「的onload」事件被解僱。我該如何檢測「onload」事件,即使頁面有JS錯誤。

我有其他選擇嗎?

回答

0

嘗試使用<body onload="myfunction();">(除非你不能加載那麼晚)。

我敢打賭,它以更普遍的方式支持。

+0

不能這樣做,我的客戶在他們的代碼上安裝了一個js腳本。他們不修改他們的代碼。 – Sebastien

+0

它最有可能失敗,因爲如果與jQuery發生衝突。你可以通過調用$(document).ready()來搭便車嗎?它不會覆蓋他們的'Ready()'代碼。 – Grallen

+0

我的腳本不使用jQuery,它是純javascript。 – Sebastien