在img標簽上盡量不要使用onerror事件
因為在之前的時候,我在本地對用戶頭像修改發現,如果圖片加載失敗, 使用onerror事件去獲取一個默認地址的圖片雖然這是可行的,但是如果剛好onerror去獲取的圖片也不在,那么就會一直觸發onerror事件,這個標簽一直在請求一個不存在的圖片。也就是會一直循環請求。
如果必須使用的話,就使用js的Image對象獲取這個圖片的信息,判斷一些屬性是否正常,如果正常就使用這個圖片作為默認圖片,不正常則不顯示。、

<img src="a.jpg" onerror="imgExists(this)" alt=""> <script> function imgExists(e){ //默認圖片 var imgUrl = "https://account.acgxt.com/public/images/default.png"; var img = new Image(); img.src=imgUrl; //判斷圖片大小是否大於0 或者 圖片高度與寬度都大於0 if(img.filesize>0||(img.width>0&&img.height>0)){ e.src = imgUrl; }else{ //默認圖片也不存在的時候 } } </script> 也可以使用XMLHTTP遠程判斷圖片是否存在。然后根據遠程獲取的是404還是200來更換圖片
