【问题标题】:how to aviod default break image icon if an image is not loaded from a file?如果未从文件加载图像,如何避免默认中断图像图标?
【发布时间】:2011-07-12 17:35:16
【问题描述】:

我使用了一个带有 src="mydirectory/myimage.gif 属性的标签。

如果目录中不存在图像,如何避免在我的 img 标签中显示默认中断图像?

这存在于 chrome 和 I.E 浏览器中,但不存在于 Firefox...

有什么办法可以避免这种情况吗?

谢谢...

【问题讨论】:

  • 我认为没有办法改变这种行为。您必须事先检查图像是否存在,或者使用 JavaScript 的 onerror 事件来隐藏失败的图像标签

标签: image internet-explorer google-chrome cross-browser


【解决方案1】:

一种流行的方法是编辑您的网络服务器。

例如,在 apache 上,如果您将所有图像存储在目录“http://host/images”中, 并将 .htaccess 文件添加到该目录以重定向所有 404 以提供默认的空白图像。

请看这里: Can Apache serve a default file instead of a 404? 但是您提供的是图像而不是任何类型的文件。

还有其他方法可以做到这一点,例如,如果您可以访问服务器端语言(php、ruby),您可以先检查服务器上是否存在图像文件,如果不存在,则提供默认图像。

或者使用Pekka提到的javascript方法。

您可以使用您的网络服务器、服务器端/客户端脚本来实现。

我不知道有没有办法用 CSS 或其他技术来做,肯定其他人会填写。

希望对您有所帮助。

【讨论】:

  • 非常感谢 Winfred & Pekka .. 我使用 javascript onerror 方法解决了这个问题。我已经使用加载默认图像的服务器端处理方法.. 在某些情况下,您不想为用户加载默认图像.. 所以,我选择 javascript 来解决这种情况..
  • 如果您使用服务器端处理,您可以使用 1px 空白图像作为某些图像的默认图像。
猜你喜欢
  • 2020-08-16
  • 2019-10-23
  • 1970-01-01
  • 2013-11-21
  • 1970-01-01
  • 1970-01-01
  • 2015-08-20
  • 1970-01-01
  • 2023-02-05
相关资源
最近更新 更多