Почему Chrome вызывает событие onerror для элемента img только один раз, когда все остальные браузеры (IE7,8,9, FF, Opera и Safari) вызывают его неоднократно?
Есть ли способ заставить его снова повторить вызов onerror (в Chrome)?
HTML:
<div id="thisWorks">
this works in Chrome. onerror event is called once.
<img src="http://www.asdfjklasdfasdf.com/bogus1.png"
onerror="fixit(this);"
rsrc="http://eatfrenzy.com/images/success-tick.png" />
</div>
<div id="thisDoesNotWork">
this does not work in Chrome. onerror event is not called twice.
<img src="http://www.asdfjklasdfasdf.com/bogus1.png"
onerror="fixit(this);"
rsrc="http://www.asdfjklasdfasdf.com/bogus2.png|http://eatfrenzy.com/images/success-tick.png" />
</div>
JAVASCRIPT:
function fixit(img)
{
var arrPhotos = img.getAttribute('rsrc').split('|');
// change the img src to the next available
img.setAttribute('src', arrPhotos.shift());
// now put back the image list (with one less) into the rsrc attr
img.setAttribute('rsrc', arrPhotos.join('|'));
return true;
}
EDIT: Согласно комментарию @Sunil D. о том, что Chrome не выполняет новый поиск из-за недопустимого доменного имени www.asdfjklasdfasdf.com
в начальная скрипка, я пошел дальше и изменил доменное имя, чтобы оно соответствовало успешному изображению, но с другим именем файла, так что это все еще 404. Это докажет, что это не недопустимое доменное имя, вызывающее Chrome выручит со второй попытки.
РЕДАКТИРОВАТЬ: Обновлена скрипка и удалено использование jquery, чтобы просто и исключить это.