css背景图不存在时,怎么处理浏览器抛出的404错误

如果图片加载失败,浏览器会抛出404错误,怎么处理这种问题。

var imgObj = new Image();
imgObj.src = imgURL;
imgObj.onerror = function (){
    console.log("404");
        $('body').css('background', 'url('+ 默认图片 +')repeat-x #fff');
};
imgObj.onload = function (){
    $('body').css('background', 'url('+ imgURL+')repeat-x #fff');
};

图片说明

脚本没有问题,你确定资源加载到了吗,或者是你没有引用jquery

图片说明

404是应为服务器找不到资源,应该是路径错了1
'url('+ imgURL+')repeat-x #fff' 这个路径在检查一遍

你先把css的这个路径加到alert里看一下,把css这个删除了,如果是你这路径错误,你看弹窗就能看到,不然这个路径存在你看不了弹窗

imgObj.onerror = function (){
    //console.log("404");
        imgObj.onerror="xxxxx";//写个默认图片地址
};

1、让这个图片元素隐藏:
[html] view plain copy
图片XX

2、用默认的图片替换:
[html] view plain copy
图片XX

1、让这个图片元素隐藏:

图片XX

2、用默认的图片替换:

图片XX

这样可以处理
1、让这个图片元素隐藏:
img src="图片的url地址" alt="图片XX" onerror="this.style.display='none'"/>

2、用默认的图片替换:
img src="图片的url地址" alt="图片XX" onerror="this.src='默认图片的url地址'"/> :

加载失败的时候报404错
是你的路径有问题

首先,如果你是故意。知道他会包404的,那个我感觉你应该用onerror方法,如果你是不是故意的,那么你需要很仔细的检擦下路径