【问题标题】:Setting a dynamic favicon for IE9 from the controller (Angular)从控制器 (Angular) 为 IE9 设置动态图标
【发布时间】:2026-02-10 03:25:02
【问题描述】:

我正在努力在 IE9 上动态设置网站图标(使用控制器)。如果我只是像这样对链接进行硬编码,它就可以工作,并且我会看到 favicon:

<link rel="shortcut icon" href="/folder/fav.ico"/>

但尝试动态执行,它不会起作用:

<link rel="shortcut icon" href="{{url}}"/>

url 在我的控制器中设置如下:

$rootScope.url= '/folder/fav.ico'

如果我尝试console.log($rootScope.url) 或者如果我在我的HTML 文档的body 中有{{url}},我会得到正确的值。这意味着我要么:

  1. 根本不要在&lt;head&gt; 中获取{{url}}
  2. &lt;link&gt; 中不能有 Angular 变量

请注意,我还在同一个控制器中设置了动态&lt;title&gt;,它工作正常。这说明控制器没问题。

您对如何修复或调试这个东西有任何想法吗?

非常感谢!

【问题讨论】:

    标签: javascript angularjs internet-explorer-9 favicon


    【解决方案1】:

    我知道这不是最佳实践,但我认为要让 IE9 和 10 理解它,您可能需要像 mathiasbynens 在这里写的示例那样更改它: https://gist.github.com/mathiasbynens/428626

    我认为该元素必须被删除并再次附加,以便 IE 注意到更改。

    【讨论】:

      最近更新 更多