用Javascript判斷圖片是否存在,不存在則顯示默認圖片的代碼

利用image對象的onerror事件來判斷,出錯則更換image對象的src為默認圖片的URL。

<p>第一種情況:圖片存在,正常顯示

<img src=``"http://www.jb51.net/logo.gif"

onerror=``"javascript:this.src='http://www.jb51.net/logos.gif'" /></p>

<p>第二種情況:圖片不存在,顯示默認圖片

<img src=``"http://www.jb51.net/logoddd.gif"

onerror=``"javascript:this.src='http://www.jb51.net/logos.gif'" /></p>

注意:如果使用不當,在IE內核的瀏覽器下會造成死循環(huán)。比如:當【默認圖片的url地址】也加載不成功(比如網(wǎng)速比較慢的時候)或不存在的話,就會反復的加載,最后造成堆棧溢出錯誤。

因此, 需要用下面兩種方法解決:

a、更改 onerror 代碼為其它處理方式或者確保 onerror 中的默認圖片足夠小,并且存在。

b、控制onerror事件只觸發(fā)一次,需要增加這句話:this.onerror=null; 增加后如下:

<img src=``"圖片的url地址" alt=``"圖片XX" onerror=``"this.src='默認圖片的url地址;this.onerror=null'"``/>

下面是通過js的判斷 用javascript判斷指定圖片文件是否存在:
如判斷<img src="http://www.jb51.net/logos.gif">這個圖片地址是否存在.
如果不存在,隔幾秒重新探測此圖片,如果地址有效則,提示地址有效

<script type=``"text/javascript"``>

function IsExist(url)

{

x = ``new ActiveXObject(``"Microsoft.XMLHTTP"``)

x.open(``"HEAD"``,url,false)

x.send()

return x.status==200

}

alert(IsExist(``"http://www.jb51.net/logos.gif"``));

</script>

圖片存在則上面的返回true

<SCRIPT language=``"javascript"``>

var xmlhttp = ``new ActiveXObject(``"Msxml2.XMLHTTP"``);

xmlhttp.Open(``"GET"``, ``"http://www.jb51.net/logos.gif"``, false);

xmlhttp.Send();

alert(xmlhttp.responseText);

</SCRIPT>

圖片存在則返回GIF89aX

<img src=``"http://www.jb51.net/logos2.gif" onerror=``"alert('該圖片不存在!');"``>

因為圖片不存在則返回該圖片不存在!

引自:http://www.jb51.net/article/8796.htm

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容