我有一些纯HTML的静态页面,当服务器宕机时显示。我怎么能把我做的favicon(它是16x16px,它在同一个目录下的HTML文件;它被称为favicon.ico)作为“标签”图标,因为它是?我已经在维基百科上阅读了一些教程,并已经实现了以下内容:

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

但它还是不能工作。我正在使用Chrome浏览器测试网站。根据维基百科,.ico是在所有浏览器类型上运行的最佳图片格式。

更新

我不能让这在本地工作,尽管代码检查出来,它将只有在服务器开始为网站服务时才能真正正常工作。只需尝试将其推到服务器并刷新您的缓存,它应该可以正常工作。


当前回答

大多数浏览器会从站点的根目录中获取favicon.ico,而不需要被告知;但他们并不总是立即更新一个新的。

然而,我通常会选择你的第二个例子:

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

其他回答

请注意,FF无法在URL中加载冗余的//图标,如/img//favicon.png。在FF 53上测试。Chrome浏览器没问题。

您可以制作一个.png图像,然后在静态HTML文档的<head>标记之间使用以下片段之一:

<link rel="icon" type="image/png" href="/favicon.png"/>
<link rel="icon" type="image/png" href="https://example.com/favicon.png"/>

注意,如果你的网站是作为子文件夹运行的,例如:

http://localhost/MySite/

你需要考虑到这一点。如果您从ASP中这样做。NETapp你所需要做的就是在URL前面加一个~:

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

作为一个额外的提示,也许有一天会帮助到别人。

你不能将任何内容回显到之前的页面:

Hello
<link rel="shortcut icon" type="image/ico" href="/webico.ico"/>
<link rel="shortcut icon" type="image/ico" href="/webico.ico"/>

不会加载ico

<link rel="shortcut icon" type="image/ico" href="/webico.ico"/>
<link rel="shortcut icon" type="image/ico" href="/webico.ico"/>
Hello

工作正常

用这样的工具将你的图像文件转换为Base64字符串,然后用你的字符串替换下面代码片段中的YourBase64StringHere占位符,并把这行放在你的HTML头部部分:

<link href="data:image/x-icon;base64,YourBase64StringHere" rel="icon" type="image/x-icon" />

这将在浏览器中100%工作。