Favicon要求每次改变路线

时间:2016-02-15 12:37:05

标签: react-router

Favicon requested on every route change

我认为路线变更会触发对图标的请求,这很奇怪。

这是打算还是在这里发生了什么?

4 个答案:

答案 0 :(得分:4)

我遇到了同样的问题,我认为问题始于Chrome 49.0.2623.87。我希望它将在即将到来的更新中修复。现在,我正在使用下面的脚本,可以找到here

var favIcon = "favicon.ico";
var docHead = document.getElementsByTagName('head')[0];       
var newLink = document.createElement('link');
newLink.rel = 'shortcut icon';
newLink.href = 'data:image/png;base64,'+favIcon;
docHead.appendChild(newLink);

它不会停止favicon请求,所以在短时间内你仍然会看到chrome的默认favicon,但我相信没有太多的事要做。

答案 1 :(得分:2)

我找到了解决方法on Github。引用@Doeke:

  

尝试重新排列图标链接标签。对我来说,将16x16链接放在32x32之前可以解决此问题。至于为什么这样...我不知道。

对我来说,这意味着将我的唯一图标<link>放在<head>之后<meta charset>的顶部。

答案 2 :(得分:1)

尝试从您的服务器提供favicon.ico或为其添加路由。使用快速catch-all app.get('*')方法时,我遇到了这样的错误,该方法将所有请求重定向到index.html(即使对于favicon)

答案 3 :(得分:0)

通过 index.html 页面中的以下代码行更改网站图标请求

<link rel="icon" href="data:image/vnd.microsoft.icon;base64,<data>">

这里,<data> 是您网站图标的 base64 数据。

参考https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs

这个技巧会阻止用户的浏览器向网站图标发送自动 HTTP 请求。