今天在项目中做了判断照片路径存在但不知道照片文件是否存在的功能,了解到了img标签中的onerror的方法,用法如下:
<img src="原照片地址" οnerrοr="javascript:this.src='默认照片地址' " alt='图片'>
分析:onerror发生的条件是:当图片不存在时,将触发onerror,这时将触发onerror中指定的默认图片的路径;但问题是,如果默认图片的路径也不存在,则继续触发onerror,导致循环,故出现错误。
解决方法:
(1):去掉onerror代码;或者更改onerror代码为其它;或者确保onerror中图片足够小,并且存在。
(2):
<script type="text/javascript">
<!–
function nofind(){
var img=event.srcElement; // 声明对象
img.src="http://www.cnblogs.com/sys/common/image/fileoperation/icon/default.gif"; // 给一个服务器的图片地址
img.οnerrοr=null;//控制不要一直跳动
// 这里可以写其他的判断代码,如向服务器请求照片。。。。。
}
//–>
</script>
html代码:
<img src='原照片地址' οnerrοr="nofind();">
***********************************************************************************************************************************************************
其实还有一个方法来判断请求的照片地址及照片文件是否存在
$http.get(url).success(function(response) { alert("$httptrue"); }).error(function(data,status,headers,config){ alert("$httpfalse"); });
分析:此方法是在angularjs中的$http请求的get方法来实现的,url中的地址换成img标签中的src地址就可以了,本人觉得此方法还是比较好用的,暂时没有发现什么问题。