2010-09-19 66 views
5

提交表單時,我想確保字段是有效的圖片網址。如何測試URL是否爲有效圖像(javascript)?

我可以在我的服務器上創建一個AJAX端點,它將URL映射到URL並用圖像庫解析輸出,但是這感覺有些過度。

我可以通過製作<img>元素,然後以某種方式同步檢查響應嗎?

+0

我敢肯定,這是一種欺騙......讓我看看我能不能把它挖出來...... – 2010-09-19 02:07:03

回答

12

您可以製作一個<img>元素並處理其onerroronload事件。

如果load事件觸發,它是一個有效的圖像;如果error事件觸發,事件不會。
這甚至可以跨域使用。

+0

是那些保證及時火(在各主要瀏覽器)?我需要爲自己做一些超時邏輯嗎? – 2010-09-19 02:16:25

+0

@保羅:它應該工作正常;嘗試一下。 – SLaks 2010-09-19 02:22:17

+0

我無法獲取onerror或onload事件來激發img標記。根據w3schools這些不支持的事件。 http://www.w3schools.com/tags/tag_img.asp – eivers88 2012-06-21 19:29:28

4

做到這一點,以下代碼將用默認圖像替換任何非圖像。

<img src="xx" onerror="this.src = '/images/default.png'"> 
+0

這很好 - 一個輕微的語法錯誤 - 你錯過了一個雙引號 - 我將編輯您。 – JoseBazBaz 2012-12-21 11:34:44