favicon.ico需要驻留在index.html的同一目录中吗?

时间:2009-11-08 04:48:22

标签: favicon

我已经在使用添加图标的标准方法了:

<link rel="icon" type="image/gif" href="/graphics_card/favicon.gif">
<link rel="shortcut icon" href="/graphics_card/favicon.ico">

所以favicon.gif和.ico都应该驻留在

/graphics_card

然而,我发现IE 8(或者其他IE)无法显示它,(更新:无论我按CTRL-F5多少次,或清除浏览器缓存),但是一旦.ico文件出现在index.html所在的目录中,它就会显示。

所以如果是

http://www.example.com/graphics_card/nvidia/index.html

需要有一个favicon.ico

/graphics_card/nvidia/

太。我最终将其指定为

<link rel="icon" type="image/gif" href="/graphics_card/favicon.gif">
<link rel="shortcut icon" href="favicon.ico">

然后在该目录中放置一个favicon.ico。这是标准方式吗?

2 个答案:

答案 0 :(得分:11)

不,如果您在标签中指定它,可以将它放在任何位置。但是,对于IE,您需要提供完全限定的网址(即不是相对网址)。

答案 1 :(得分:1)

您可以将其放在其他位置,并使用<link>标记来引用它。 e.g。

<link rel='shortcut icon' href='/images/favicon.ico' type='image/x-icon' />

然而,将它放在域根上是一种好习惯,例如http://example.com/favicon.ico,因为现代浏览器在加载页面时会实际调用该文件以首先加载图标。