Javascript img.onerror似乎不适用于IE8

Javascript img.onerror似乎不适用于IE8,javascript,html,firefox,internet-explorer-8,dojo,Javascript,Html,Firefox,Internet Explorer 8,Dojo,我正在尝试从url加载图像以检查internet连接。当没有internet连接时,它应该显示一个dojo警告对话框。这适用于Firefox,但不适用于IE8 以下是代码片段: var img = new Image(); img.src = userGuideUrl1_img + '?' + (new Date).getTime(); img.onload = function() { window.open(userGuideUrl1); } img.onerror = fu

我正在尝试从url加载图像以检查internet连接。当没有internet连接时,它应该显示一个dojo警告对话框。这适用于Firefox,但不适用于IE8

以下是代码片段:

var img = new Image();
img.src = userGuideUrl1_img + '?' + (new Date).getTime();
img.onload = function() {
        window.open(userGuideUrl1);
}
img.onerror = function() {
    dojo.addOnLoad(warningDialogFunc);
}
这里warningDialogFunc是一个dojo对象。有什么想法吗?
谢谢

执行img.onerror处理程序时页面是否已经加载,IE是否没有重新执行dojo.addOnLoad(warningDialogFunc)

试着改变

img.onerror = function() {
    dojo.addOnLoad(warningDialogFunc);
}
简单地说:

img.onerror = function() {
  warningDialogFunc();
}

您必须在设置映像源之前设置处理程序,当您更改src属性时,IE将尝试下载映像并触发事件

var img = new Image();
img.onload = function() {
        window.open(userGuideUrl1);
}
img.onerror = function() {
    dojo.addOnLoad(warningDialogFunc);
}
img.src = userGuideUrl1_img + '?' + (new Date).getTime();  // Trigger image download and the handlers.

我尝试将dojo.addOnLoad(…)完全更改为简单警报('no connection'),这是一个函数调用。那没什么区别。我相信img.onerror不是IE不理解,就是我遗漏了一些其他东西。解决了问题…为了模拟没有互联网连接,我从“文件”菜单中单击了“脱机工作”。在这种情况下,IE的行为与Firefox不同,当我这样做时,它不起作用。因此,我没有“离线工作”,而是从桌面上拔出以太网电缆,然后尝试;FWIW,对
addOnLoad
的调用仍然会触发,即使它们在DOM就绪并加载模块后排队。如果是那样的话,他们会立即开火。啊,那是有道理的。我不确定IE在onLoad方面是否比其他浏览器做了一些不可靠的事情。