12

问题仅存在于 FireFox(从 3.6 到当前 9),其他浏览器都可以。我的代码如下所示:

jQuery.extend({
    AnchorFromUrl : function(url) {
        var anchor = url.substr(1).replace('.html','');
        $.fizzer_anchor = anchor;
        window.location.hash = anchor;
        return anchor;
    }
});

最奇怪的是,如果我在 window.location.hash = anchor; 行,单击 Ok favicon 没有消失后,删除该 alert() 并且您的 favicon 消失。

注意:如果您只是这样做,它也会删除网站图标window.location = something

4

3 回答 3

28

我遇到了同样的问题,但发现了这个有趣的帖子,它对我有用,它只是添加了 2 行 javascript。当哈希元素发生变化时会出现问题,因此,我们需要通过 javascript 重新建立它

http://kilianvalkhof.com/2010/javascript/the-case-of-the-disappearing-favicon/

这是代码

function setFavicon() {
  var link = $('link[type="image/x-icon"]').remove().attr("href");
  $('<link href="'+ link +'" rel="shortcut icon" type="image/x-icon" />').appendTo('head');
}

或者(感谢 Mottie)使用 jQuery detach

$('link[type*=icon]').detach().appendTo('head');
于 2011-01-07T22:07:58.560 回答
1

它对我有用:

var link = document.createElement('link');
link.type = 'image/x-icon';
link.rel = 'shortcut icon';
link.href = 'FAV_ICON_URL';
document.getElementsByTagName('head')[0].appendChild(link);

参考:动态更改网站图标

于 2012-04-20T12:27:46.507 回答
-5

我也注意到了这种行为。Firefox 时不时会删除一个图标,或者它拒绝将图标放在我的书签旁边。我认为这是一个 Firefox 错误。

为了解决这个问题(以及其他功能),我安装了Favicon Picker 插件。当然,这并不能解决您在其他计算机上的问题,例如客户端等。

于 2010-03-09T15:56:38.307 回答