2012-03-21 80 views
2

有人默認設置SRC以下列方式img元素:設置默認SRC到IMG元素

<img src="foo.jpg" onerror="this.src='default.jpg'" /> 

我認爲這不是因爲當onerror事件被觸發一個額外的HTTP請求將被髮送的最佳方式,而我們的日誌組件會記錄無用的錯誤信息。

我認爲我可以在下面的方式做:

創建的HttpHandler(ashx的)發送適當的圖像客戶端。所以我可以像這樣在頁面上寫一個img:<img src=‘ImageHandler.ashx?id=foo.jpg’/>。應用程序將檢查圖像(foo.jpg)是否存在,然後決定發送foo.jpg或default.jpg。

是不是?你有更好的解決方案嗎?

+0

你是不是在Web服務器的控制權,或者怎麼來的,你必須檢查是否存在圖像?你是否在引用其他人託管的圖片? – 2012-03-21 08:26:46

+0

是的,我正在使用asp.net。我將通過System.IO-File.Exists(filePath)中的Method檢查文件。 – 2012-03-21 08:31:52

+0

我認爲這是更好的方法 – 2012-03-21 08:32:46

回答

1

耶有一個辦法:

<object data="http://aaa.com/does-not-exist.png"> 
    <img src="http://aaa.com/content/img/so/logo.png"> 
    </object> 

怎麼過,你應該與瀏覽器兼容性tyry它。

另一個solutiuon是:

<style type="text/css"> 
img { 
    background-image: url('/images/default.png') 
} 
</style> 

如果內部圖像不存在時,所述外將被執行。

一個srarch後:這個問題是以前在這裏問:

Inputting a default image in case the src attribute of an html <img> is not valid?