我需要讓網絡用戶輸入網址的圖像,我希望用戶具有視覺確認該網址是有效的(或沒有)。顯示默認圖片URL,除非是一個有效的圖像
因此,如果用戶輸入我想它:
- 什麼,它會顯示默認的(未找到)圖像。
http://example.com/ValidImageUrl.any_or_no_extension
,它會接受它,並顯示圖像。hxxp://example.com/ValidImageUrl.any_or_no_extension
,它會顯示默認(找不到)圖像http://example.com/INVALID_imageurl.any_or_no_extension
,它會顯示默認(未找到)圖像。從本質上講,如果鏈接是什麼,但一個200,它應該顯示默認的http://example.com/asdf?qwerty&t=10982741238947
,(假設它是有效的),它會自動地確定它是否是一個有效的圖像,如果有效的顯示出來,否則顯示默認的(未找到) 圖片。這是捕捉最難的情況,但成爲當今的Flickr &嵌入式世界Picassa中越來越重要......但是,如果瀏覽器可以檢測到它作爲一個圖像,並顯示它,然後JavaScript的應該是能夠檢測到它,並確定其細節。
下面是一個極其簡單的例子:
<input id="GivenUrl" onblur="UpdateImage()"/>
<img id="UserImage"/>
<script type="text/javascript">
var TextBox = document.getElementById("GivenUrl");
var Image = document.getElementById("UserImage");
if (Image.value == "")
{
UserImage.setAttribute("src", "MyDefaultImage.jpg");
}else{
UserImage.setAttribute("src", encodeURI(TextBox.value));
}
</script>
最後我的約束:我最佳像溶液是純的HTML/JavaScript的,所有在客戶端(用戶)側處理。稍微不太有利的解決方案將涉及.NET服務器端處理,這是可能的,但絕對不是最佳...
任何想法?
請在上面忽略任何良性的編碼錯誤,因爲我不是目前在一臺機器,我可以測試自己的代碼...
完美!這就是訣竅!而且作爲附錄,這是完全合法的HTML5(參見:http://www.w3.org/TR/html5/webappapis.html#event-handlers-on-elements-document-objects-and-window-objects) – Dekker500 2010-12-21 17:34:33