【问题标题】:Favicon requested on every route change每次路线更改时都请求网站图标
【发布时间】:2016-05-26 09:01:47
【问题描述】:

我认为路由更改会触发对网站图标的请求很奇怪。

这是故意的还是这里发生了什么?

【问题讨论】:

  • 这正是我面临的问题。你找到解决办法了吗?
  • 我也有同样的问题!!有什么解决办法吗??
  • 我也在经历这个

标签: react-router


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,我相信问题是从 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,但我相信对此没有什么可做的。

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

      • 这成功了!文档中似乎没有任何网站图标才是真正的问题。
      【解决方案4】:

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

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

      这里,&lt;data&gt; 是您的网站图标的 base64 数据。

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

      这个技巧会阻止用户的浏览器发送一个自动的 HTTP 请求来获取 favicon。

      【讨论】:

        猜你喜欢
        • 2017-12-27
        • 2016-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-10
        • 1970-01-01
        • 2020-03-04
        • 2019-02-02
        相关资源
        最近更新 更多