在角度应用程序中导航其他页面时,IE图标消失了

时间:2014-04-10 08:30:58

标签: angularjs internet-explorer google-chrome favicon angularjs-routing

我发现了角度应用的问题。 我有一个位置提供程序设置来使用html5Mode true:

$locationProvider.html5Mode(true);

我注意到在页面之间导航时,favicon正在消失。 我正在使用IE11边缘文档模式。

有没有人碰到这个?

由于

2 个答案:

答案 0 :(得分:1)

认为可能值得在此处添加我的发现......

起初我遇到了完全相同的问题,从root主页更改时,我无法让favicon留在页面上。我尝试了肖恩的答案,这也没有用,所以我在网上看了一下,发现在所有现代浏览器中你都可以使用PNG作为默认的图标,所以我尝试了它,它适用于我最新的Chrome,最新的Firefox和IE11通过localhost然后在Edge发布到我的网络服务器。

我希望这可以帮助其他人解决同样的问题。

答案 1 :(得分:-1)

不确定这是否适合您。

此代码假设您有jQuery以及angularjs(不仅仅是jqlite)。纯javascript中的等价物是可能的(虽然更长)。

angular.module('app', [])
.run(function ($rootScope, $location) {

  $rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {

    // bug fix: reset favicon path
    var favType = "image/x-icon"
    favLink = $('link[type="' + favType + '"]').remove().attr("href");
    $('<link href="' + favLink + '" rel="shortcut icon" type="' + favType + '" />').appendTo('head');

  })

});