当我的网站位于本地(使用
file://
协议)时,图标不会显示在 Chrome 或 Safari 中,但可以在 Firefox 中使用(均在 Mac 上)。然而,当实际托管完全相同的网站时,该图标在我尝试过的所有浏览器中都可以正常工作。为什么 webkit 浏览器不显示本地图标?
favicon.ico 文件与index.html 页面位于同一目录中。我正在使用以下代码,尽管我已经尝试了它的几种变体:
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
由于通过
http://
访问该图标时可以正常工作,我怀疑我包含它的方式有问题,但你永远不知道......
我发现了一些论坛帖子(没有太官方的帖子)表明这是设计使然,但没有一个给出理由。另外,似乎某些版本的 IE 也存在同样的问题。本地图标是否存在安全风险? (例如,我知道某些浏览器存在本地 cookie 问题。)
免责声明:似乎有很多类似的问题,但我还没有找到确切的这个问题。 (事实上,我的问题与this基本相同,但那里的答案都不适合我。)
您可以使用图像的 Base64 数据。放这样的东西:
<link href="data:image/x-icon;base64,AAABAAEAEBAAAAAAAABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAD9/f0F/Pz8DP///wD///8P////Dv///xL///8P////A////wD///8A/v7+Cf///wX///8A////APv7+wr9/f0D+/v7Dv///wb///81+vv8i/v7/Iv3+PqL4+nxi+ru9JHy9Piu5+zzru3w9ZD+/v5x/v7+H////wr///8A9/f3H/7+/g7///8J////HNDX5Pyaq8j/m6zJ/5esy/+QpcX/larK/5uwzv+MoMH/mqrG/5qlv+7Q0Nty/f3+Af///wD///8A/v7+A////wz+/v6b2d/q/4abvf+Emr7/jKHD/5Gnyf+Uqsz/fpW5/4mXuP/U1OL/e3ui+MPE0l7///8A////AP///wD///8P////Xa680/9/lrr/kafJ/5yy0/+WrM7/nbPT/52uyv+ktM7/1NTi/8LC1f+lpr3n////AP///wD///8A////AP7+/mDo7PL/ytPi/5yv0fehsuXuuMvl0Kq81drS2uf8+/z9bff3+SG5uM1r8vL1ff///wD///8A////AP///wr+/v4H/v7+jufq8umIg/Sut7L9YKul/W7PzvlMnZn03Ozq/x/+/v4H////AP///wD///8A////AP///wD///8A5OH/IpuS/pF3cfPploz/hH5y/6F/dP+gl47/gkw++e7Hwv9Fta//XPj4/gf///8A////AP///wD///8A+vn/BoyB/pGlnf5vfHfxy4mA/JlIOf/lmZD+f1lK/89kWPrPmZD+f9zY/yu3sP5ar6j/ZP///wD///8A6uj/GbSt/l6imv9yVkf/1HBm+MJ5eOrlhX/1s2JY+dRpYPfPv7/zb4+F/41WR//Uloz/hI6E/47///8A////AOro/xmnn/9teW3/qH5y/6HKxf9B9/n7Fc3N9VfMyvlQraj6cbWv/1zj4f4h2tf/Lks7/+NmWP+/0s7/OP///wCvqP9kjoT/jo6E/46Sif+I+vn/Bt3a/ypsX/+5////AH90/6Dj4f4h0Mz/OrWv/1yyq/9gkon/iNzY/yv///8A19P/MvLx/g////8A////APX0/wxvYv6119P/MtzY/ytmWP+/oZj/df///wBQQP/dt7D+Wv///wD///8A////AP///wD///8A////AKyk/2makf9+UUL/283J/z/l4/8f1dH/M////wD///8At7D+Wv39/gH///8A////AP///wD///8A////AP///wDa1/8u2tf/LtrX/y719P8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAOAfAADgBwAA4AMAAPABAADwHwAA8d8AAPAfAADonwAA8CEAAOf5AADGvQAA/bcAAP3/AAD//wAA//8AAA==" rel="icon" type="image/x-icon" />
进入 html 文件的
<head>
部分。您可以使用base64.guru等在线工具将图像文件的数据转换为Base64。
file://
和chrome:对于 Chrome 中的 local 图标 - 根据 linux 命令 上找到的旧线程,如果本地图标位于您的
file://
目录中,应该可以使用 /Downloads/
放置本地图标。所以我尝试了这样的方法:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<link rel="shortcut icon" type="image/x-icon" href="file://localhost/Users/dominikangerer/Downloads/favicon.ico">
</head>
<body>
<h1>Testing</h1>
</body>
</html>
我没有运行 apache 或任何东西。这就是 chrome 使用
file://
访问本地文件的方式。如果我尝试使用文件系统另一部分的图标,它似乎不起作用 - 所以也许这是 chrome 的解决方案。
file://
和 Safari:仍在寻找一种方法 - 上面的代码不适用于我的 up2date safari。
这是多年来的一个已知问题。您的代码是正确的,我认为您不会找到任何方法来允许 Chrome 或 IE 以非远程方式包含 favicon。
前一段时间,我尝试了很多方法,都没有效果,也没有找到任何关于这一点的浏览器文档。
<link rel="icon" href="favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="favicon.png" type="image/png" />
<link rel="shortcut icon" href="C:/files/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="file:///C:/files/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="file:///C|/files/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="file://localhost/C:/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="file://127.0.0.1/C:/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="file://localhost/C|/favicon.ico" type="image/x-icon" />
对于 Chrome,网站图标存储在文件中:
User\AppData\Local\Google\Chrome\User Data\Default\Favicons
。我们可以猜测本地图标没有存储在。
一旦我使用两行代码解决了它
<link rel="icon" href="favicon.ico" type="image/x-icon">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
如果有帮助的话,还可以将 favicon.ico 命名为此名称并保留在 webroot 文件夹中。
我通过将
favicon.ico
重命名为 new_name.ico
解决了这个问题。它适用于 Safari 和 Chrome。
<head>
<link rel="icon" type="image/x-icon" href="{{ url_for('static', filename='logo.ico') }}">
</head>
嗯,我遇到了与 Google Chrome 类似的问题,favicon 无法正确显示,问题是我使用的 .ico 是 16x16 和 32x32 我只是使用了更大的图像,它适用于所有浏览器。
在 Chrome 中工作您所需要的只是一个带有图标和网站的文件夹,然后 html 应如下所示(请确保图标名为 favicon.ico!)
link rel='快捷图标' type='image/x-icon' href='C:\Website/favicon.ico