这是一款非常实用的错误图片链接修补jQuery插件。在网页中可能会存在链接错误的图片,这时图片显示的是alt的内容或难看的缩略图。如果能自动检测页面上的错误图片链接,在将它们更换为指定的图片,来提示用户这时一张链接错误的图片,将是一种十分好的用户体验。

基本使用方法

我们可以通过多种方法来实现这个功能,在这个插件中,使用jQuery来完成这个功能。该错误图片链接修补插件有两个主要的参数:

  • complete:是否加载完成。
  • naturalWidth:取原始图像的宽度。如果为0或undefined则为损坏的形象。

该插件十分简单,在页面中引入jQuery文件之后,我们编写brokenImages()函数来修补破损的图片。

<script>
function brokenImages() {
    /* 找到页面中的图片的总数 */
    var totalimg = $('body').find('img').length;
    var brokenimg = 0;
    $('img').each(function () {
        /* 循环图片,使用naturalWidth来判断图片是否损坏 */
        if (!this.complete || typeof this.naturalWidth == 'undefined' || this.naturalWidth == 0) {
            brokenimg++;
            /* 用指定的图片URL替换损坏图片的URL */
            this.src = 'img/nIrhl0z.png';
        }
    });
    alert(brokenimg + ' of ' + totalimg + ' image(s) are broken. I fixed them!');
}
$('.demo').click(function () {
    $(this).remove();
    brokenImages();
});
</script>
                

错误图片链接修补插件至此编写完成,在页面加载完毕后调用该插件即可修补链接错误的图片:

$(document).ready(function(){
  brokenImages();
});