W3CSchool对onerror事件的解释如下:
The onerror event is triggered when an error occurs loading a document or an image.
对于图片元素的onerror事件来说,当加载图片资源出现错误的时候该事件则会被触发。比如图片的请求返回404、302等等。除此之外还有一种情况会导致图片的onerror事件触发:请求超时。
利用php脚本模拟图片资源加载速度慢的情况:
<?php
sleep(61);
header('Content-Type: image/png');
readfile('test.png');
?>
发现当sleep超过60秒的时候,浏览器的onerror事件就会被触发,同时浏览器内不会显示图片元素;小于等于60秒时,图片的onload事件正常派发,浏览器内图片显示正常。
60秒这个数字在几个主流浏览器中都是一样的,包括:IE6、IE9、Chrome10、Firefox3.6。
留言