img.onerror не похоже на IE8 - PullRequest
       14

img.onerror не похоже на IE8

2 голосов
/ 27 сентября 2011

Я пытаюсь загрузить изображение из URL, чтобы проверить подключение к Интернету. Когда нет подключения к интернету, он должен отображать диалоговое окно с предупреждением додзё. Это работает для 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 ]

1 голос
/ 28 сентября 2011

Может ли быть так, что страница уже загружена ко времени выполнения обработчика img.onerror, и IE не выполняет функцию повторно для dojo.addOnLoad(warningDialogFunc)?

Попробуйте изменить

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

просто:

img.onerror = function() {
  warningDialogFunc();
}
0 голосов
/ 23 мая 2015

Вы должны настроить обработчик, прежде чем устанавливать источник изображения. При изменении атрибута 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.
...