检测ie9中的javascript加载事件

时间:2012-12-20 07:14:15

标签: javascript javascript-events jquery onload

我想在页面加载时执行部分插件代码。所以我在浏览器中寻找页面加载事件。

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。

谢谢,

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

也许你可以试试这个

window.onload = function () {
   // do something here
};