当所有其他浏览器(IE7,8,9,FF,Opera和Safari)都重复调用它时,为什么Chrome只调用img元素的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;
- }
编辑:
根据@Sunil D.关于Chrome由于initial fiddle示例中www.asdfjklasdfasdf.com域名无效而未发布新查询的评论,我继续更改域名以匹配成功图片的域名,但是不同的文件名所以它仍然是404.这将证明它不是无效的域名导致Chrome在第二次尝试时纾困.
编辑:
更新了小提琴,并将jquery的使用简单地删除,并将其排除在外.