我没有在我的 head 标签中包含以下代码行,但是我的图标仍然出现在我的浏览器中:
<link rel="icon" href="favicon.ico" type="image/x-icon" />
加入它的目的是什么?
如果您不调用图标,
favicon.ico
,您可以使用该标签来指定实际路径(如果您将其放在 images/
目录中)。浏览器/网页默认在根目录中查找favicon.ico
。
实际上您应该同时执行这两项操作,以便所有浏览器都能找到该图标。
将文件命名为“favicon.ico”并将其放在网站的根目录中是 W3C“不鼓励”的方法:
方法 2(不鼓励):将图标放在预定义的 URI 处
指定网站图标的第二种方法依赖于使用预定义的 URI 来标识图像:“/favicon”,它相对于服务器根目录。此方法之所以有效,是因为某些浏览器已被编程为使用该 URI 查找网站图标。
W3C - 如何向您的网站添加网站图标
因此,为了涵盖所有情况,除了添加“rel”属性并将其指向同一个 .ico 文件的推荐方法之外,我总是这样做。
我使用它有两个原因:
我可以通过添加查询参数来强制刷新图标,例如
?v=2
。像这样:
<link rel="icon" href="/favicon.ico?v=2" type="image/x-icon" />
如果我需要指定路径。
只需将其添加到根文件夹就可以了,但我发现如果我需要更改图标,可能需要几天的时间才能更新......即使缓存刷新也无法解决问题。
许多人将 cookie 路径设置为 /。这将导致每个 favicon 请求发送网站 cookie 的副本,至少在 Chrome 中是这样。将您的网站图标寻址到无 Cookie 域应该可以纠正此问题。
<link rel="icon" href="https://cookieless.MySite.com/favicon.ico" type="image/x-icon" />
根据您获得的流量,这可能是添加链接的最实际原因。
有关设置无 Cookie 域的信息:
您不需要任何 16x16 的“favicon.ico”。使用嵌套在
<link>
元素中的 HTML <head>
元素。 Web 浏览器将使用非常小的图像,但 Google 要求和支持 在搜索结果中显示它们的图像大小是 48 像素的倍数。
您的图标必须是 48px 平方的倍数,例如:48x48px, 96x96 像素、144x144 像素等。 SVG 文件没有特定的大小。 任何 有效的网站图标 格式 支持。
顺便说一句,也是不相关的一点,就在结构化数据的搜索结果中显示徽标而言,他们需要至少 112 像素的图像。
所以,我使用的图标如下:
<link rel="icon" type="image/png" href="../media/favicon-336x336.png" sizes="336x336">
<link rel="icon" type="image/png" href="../media/favicon-288x288.png" sizes="288x288">
<link rel="icon" type="image/png" href="../media/favicon-240x240.png" sizes="240x240">
<link rel="icon" type="image/png" href="../media/favicon-192x192.png" sizes="192x192">
<link rel="icon" type="image/png" href="../media/favicon-144x144.png" sizes="144x144">
<link rel="icon" type="image/png" href="../media/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="../media/favicon-48x48.png" sizes="48x48">
<link rel="icon" type="image/png" href="../media/favicon-336x336.png" sizes="336x336">
<link rel="icon" type="image/png" href="../media/favicon-288x288.png" sizes="288x288">
<link rel="icon" type="image/png" href="../media/favicon-240x240.png" sizes="240x240">`<link rel="icon" type="image/png" href="../media/favicon-336x336.png" sizes="336x336">
<link rel="icon" type="image/png" href="../media/favicon-288x288.png" sizes="288x288">
<link rel="icon" type="image/png" href="../media/favicon-240x240.png" sizes="240x240">
<link rel="icon" type="image/png" href="../media/favicon-192x192.png" sizes="192x192">
<link rel="icon" type="image/png" href="../media/favicon-144x144.png" sizes="144x144">
<link rel="icon" type="image/png" href="../media/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="../media/favicon-48x48.png" sizes="48x48">`
<link rel="icon" type="image/png" href="../media/favicon-192x192.png" sizes="192x192">
<link rel="icon" type="image/png" href="../media/favicon-144x144.png" sizes="144x144">
<link rel="icon" type="image/png" href="../media/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="../media/favicon-48x48.png" sizes="48x48">
<link rel="icon" href="https://cookieless.MySite.com/favicon.ico" type="image/x-icon" /
<link rel="icon" href="/favicon.ico?v=2" type="image/x-icon" />
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml"
xml:lang="en-US"
lang="en-US">
<head profile="http://www.w3.org/2005/10/profile">
<link rel="icon"
type="image/png"
href="/somewhere/myicon.png" />
[…]
</head>
[…]
</html>
<!DOCTYPE html
PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="en-US">
<head profile="http://www.w3.org/2005/10/profile">
<link rel="icon"
type="image/png"
href="http://example.com/myicon.png">
[…]
</head>
[…]
</html>