2012-03-21 82 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?