检测IE9中的Javascript加载事件

问题描述 投票:0回答:2

我想在页面加载时执行addon代码的一部分,因此我正在浏览器中寻找页面加载事件。

if (window.addEventListener)
    window.addEventListener("load", func, false);
else if (window.attachEvent)
    window.attachEvent("onload", func);

function func() {
    alert("page loaded");
    //my code here
}

在Firefox中,我能够捕获加载事件,但是在IE9中,我无法获取该事件。或者,使用jQuery调用:

$(document).ready(function(){
    //my code here
});

我们可以得到这个,但我需要此功能而不使用jQuery。

javascript jquery dom-events internet-explorer-9 onload
2个回答
2
投票

这将在IE9中执行:

window.onload = func;

要修改您的代码:

if (window.addEventListener) {
    window.addEventListener("load", func, false);
} else if (window.attachEvent) {
    window.attachEvent("onload", func);
} else {
    window['onload'] = func;
}

更通用的事件处理程序附件为:

function Subscribe(event, element, func) {
    if (element.addEventListener) {
        element.addEventListener(event, func, false);
    } else if (element.attachEvent) {
        element.attachEvent("on" + event, func);
    } else {
        element['on' + event] = func;
    }
}

Subscribe('load', window, func);

0
投票

也许您可以尝试这个

window.onload = function () {
   // do something here
};
© www.soinside.com 2019 - 2024. All rights reserved.