1.对于img标签可以用onerror来重新加载原来错误的图片,举例:
<img src="http://www.hadsky.com/这是个错误的地址或图片资源" onerror="this.src='http://www.hadsky.com/ad/install/ad.png'">
img加载src内的图片出错时,就会自动执行onerror内的js代码,你就可以用this.src来重新加载图片。
2.通用型的判断或检测图片是否加载成功方法,用检测函数,代码如下:
//检测图片是否加载成功 function chkimgisok($src) { var img = new Image(); img.src = $src; if (img.width == 0) { //加载失败 return false; } else { //加载成功 return true; } }该函数的使用和调用方法:
if (chkimgisok('图片地址')) { //图片加载成功 }else{ //图片加载失败 }举例:判断或检测某个对象背景图片是否加载成功:
//下面是摘抄HadSky轻论坛puyuetian_whitestyle模板判断用户头像是否加载成功的代码。 <h1 id="article-title" class="am-article-title" style="background-image: url(userheadimg/{$LZU_id}.png);background-size: 28px 28px;background-repeat: no-repeat;background-position: 0px 3px;padding-left: 35px;"> {$LZC_title} </h1> <script> $(document).ready(function() { if (!chkimgisok('userheadimg/{$LZU_id}.png')) { $('#article-title').css('background-image', 'url(userheadimg/2.png)'); } }); </script>举例分析:
由于部分用户没有上传头像,所以直接加载其uid所对应的头像图片可能导致不存在该头像文件而显示空白,为了解决该问题引入js检测代码,当文档加载完成时判断该用户的头像是否加载成功,若没有加载成功则为其加载默认的游客头像。