KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Why is Chrome is only calling the onerror event for the img element one time when all other browsers (IE7,8,9, FF, Opera, and Safari) all call it repeatedly? Is there a way to force it to repeat the onerror call again (in Chrome)? jsfiddle 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: Per @Sunil D.'s comment about Chrome not issuing a new lookup due to invalid domain name of www.asdfjklasdfasdf.com in the initial fiddle example, I went ahead and changed the domain name to match that of the success image, but with a different filename so it still is a 404. That will prove it's not the invalid domain name causing Chrome to bail out on the 2nd attempt. EDIT: Updated fiddle and removed use of jquery to simply things and rule that out.
Tags (comma-separated)
Save Edits
Cancel