img.onerror似乎不适用于IE8

时间:2011-09-27 19:30:00

标签: javascript html firefox internet-explorer-8 dojo

我正在尝试从网址加载图片以检查互联网连接。没有互联网连接时,它应显示一个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对象。有什么想法吗? 感谢

2 个答案:

答案 0 :(得分:1)

可能是在执行img.onerror处理程序时已经加载了页面,并且IE不会重新执行dojo.addOnLoad(warningDialogFunc)的函数吗?

尝试更改

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

简单地说:

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

答案 1 :(得分:0)

您必须在设置图像源之前设置处理程序,当您更改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.