我有一些纯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是在所有浏览器类型上运行的最佳图片格式。

更新

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


当前回答

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

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

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

其他回答

如果favicon是png类型的图片,在旧版本的Chrome中行不通。然而,它在FireFox中工作得很好。此外,在处理这些事情时,不要忘记清除浏览器缓存。很多时候,代码很好,但缓存才是真正的罪魁祸首。

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

实际上,要让你的favicon在所有浏览器中都能正常工作,你必须有10张以上大小和格式正确的图片。

我创建了一个App (faviconit.com),这样人们就不必手工创建所有这些图像和正确的标签。

希望你喜欢。

正如W3.org所推荐的,您可以使用rel属性来实现这一点。

例子:

<head>
<link rel="icon" 
      type="image/png" 
      href="http://example.com/myicon.png">
...

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

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

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