如果没有作为"image/x-icon"提供,IE不会在HTML中显示.ico图标

vsy*_*ync 5 html favicon icons internet-explorer

我在列表中显示网站的favicon,作为<img />元素.

一些网站为他们服务:

<link rel="icon" type="image/x-icon" href="favicon.ico" />
Run Code Online (Sandbox Code Playgroud)

有些人为他们服务:

<link rel="shortcut icon" href="favicon.ico" />
Run Code Online (Sandbox Code Playgroud)

IE没有显示那些没有type ="image/x-icon"的图片的图片.
我无法控制网站如何为他们的爱好者服务,所以我能从我这边做什么?

Dis*_*oat 2

我认为最好的办法是将它们转换为另一种格式。如果您手动显示图标,那么您可以下载每个图标,使用图像程序将其转换,然后将其上传到您的网站。

如果您自动执行此操作,则需要查看服务器端获得的任何图像处理工具。如果您使用 PHP,那就是GDImageMagick库。例如,只需转换为 PNG,并将其缓存在您的网站上。

如果 IE 不显示与页面内联的 .ico 文件,那么您不太可能在不进行某种处理的情况下使其显示。在最简单的层面上,您只需读取外部图像并将其作为正确的 mime 类型提供,无需进行转换。

  • 我不知道在 .net 中具体是如何实现的,但你会有一个带有图标文件参数的脚本。该脚本将设置一个“image/x-icon”标头,然后读取传入的文件并简单地将其吐出。在 PHP 中,您只需使用标头函数和curl_exec。可能值得提出一个直接针对 .net 的单独问题。 (3认同)