该对象不支持属性或方法“attachEvent”

时间:2018-04-08 09:23:52

标签: javascript internet-explorer

我正在使用IE,一切都很好,直到我检查所有“删除浏览历史记录”框,如下所示:

enter image description here

我收到错误的代码部分

function CloseCtrlLanceurApplication() {
var programLauncher = document.getElementById('ctrlLanceurApplication');
if (programLauncher) programLauncher.Terminate();
}
window.attachEvent('onunload', CloseCtrlLanceurApplication);
if (!document.getElementById('ctrlLanceurApplication')) {alert('WARNING: external application launch component of executable type not installed on the client machine');}<

然后,当我再次打开我的应用程序时,我收到此错误The object does not support property or method "attachEvent"

1 个答案:

答案 0 :(得分:0)

问题是您也删除了兼容模式的网站首选项。

为了防止添加事件的兼容性问题,您应该使用某种基本的浏览器嗅探(基于功能),然后应用适当的附加事件功能(为了向后兼容旧版本的Internet Explorer):

// Modern browsers
if(typeof window.addEventListener === 'function') {
    window.addEventListener('load', CloseCtrlLanceurApplication, false);
}

// Internet Explorer
else {
    window.attachEvent('onload', CloseCtrlLanceurApplication);
}