如果我将/favicon.ico作为image/vnd.microsoft.icon而不是image/x-icon提供,是否会在任何浏览器上出现问题?

10
如果我将Apache配置为将/favicon.ico作为MIME类型image/vnd.microsoft.icon来提供服务,而不是image/x-icon,那么它会在任何浏览器上出现问题吗? 维基百科的favicon article指出image/vnd.microsoft.icon是“正确”的MIME类型,但如果这意味着一些用户看不到它,那也没有帮助。 我需要支持IE6+以及现代浏览器(FF / Chrome / Opera / Safari)。

如果您能够设置一个提供网站图标的网站,您可以使用 http://browsershots.org 测试与各种浏览器的兼容性。它将截取整个浏览器窗口的屏幕截图,包括显示的网站图标。 - Andre Miller
好主意,我会尝试的。 - Kip
有一些浏览器(我想包括IE6)不支持image/vnd.microsoft.icon,但是image/x-icon可以正常工作,所以我会暂时坚持使用它。感谢您的建议。很抱歉我忘记回来接受这个答案了... :-/ - Kip
2个回答

5
image/vnd.microsoft.icon 只能用于真正的ICO文件,而 image/x-icon 则不那么挑剔,也适用于位图和GIF图像。 我相信非ICO文件使用.ico文件扩展名是相当常见的。

是的,微软(以及其他公司)已经被认为建议使用该过程 - 即使在他们的文章中介绍如何向您的网站添加favicon... - SamB
通常情况下,您不应该使用错误的MIME类型来提供任何文件并期望其正常工作。然而,扩展名是无关紧要的。因此,如果您想将PNG或GIF作为favicon.ico提供,则应手动配置服务器以使用实际类型。在Apache中,可以使用ForceType指令来完成此操作,或者您可以设置301重定向到要使用的文件。 - Bachsau

4

谷歌将 /favicon.ico 作为 image/x-icon 提供,我猜他们知道自己在说什么(或者至少知道什么是兼容的)。


2
我猜这个答案有点过时了,因为现在已经不再正确了。 - Chuck Le Butt
@Chuck是正确的。Google不再链接到www.google.com/或www.google.com/search上的任何图标。但是,www.google.com/favicon.ico仍然存在。不过,我敢打赌Google知道他们在做什么。根据我的服务器日志,一个快速的`grep|wc`显示已经有4,676个请求我的图标(silhouette.ico),这是使用`<link>`标签指定的。然而,也有2,897个“favicon.ico”的404请求。浏览一些用户代理后,我认为可以肯定地说,所有类型的大多数浏览器都会默认请求/favicon.ico。我认为Google正在利用这个事实。 - Clint Pachl
谷歌也提供无效的HTML... - Martin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接