最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - FireFox 3.6 - 9 drops favicon when changing window.location - Stack Overflow

programmeradmin2浏览0评论

Problem exists only on FireFox (from 3.6 up to current 9), other browsers are fine. My code looks like this:

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

The most weird thing is that if I place an alert before the window.location.hash = anchor; line, after clicking Ok favicon doesn't disappear, remove that alert() and you get your favicon disappearing.

Note: it also drops the favicon if you just do window.location = something.

Problem exists only on FireFox (from 3.6 up to current 9), other browsers are fine. My code looks like this:

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

The most weird thing is that if I place an alert before the window.location.hash = anchor; line, after clicking Ok favicon doesn't disappear, remove that alert() and you get your favicon disappearing.

Note: it also drops the favicon if you just do window.location = something.

Share Improve this question edited Jan 24, 2012 at 10:06 Tomas 59.5k54 gold badges249 silver badges381 bronze badges asked Mar 9, 2010 at 14:35 PsihiusPsihius 1431 gold badge1 silver badge7 bronze badges 2
  • Just to add the info also here: It is a bug that has been reported here: bugzilla.mozilla.org/show_bug.cgi?id=519028 – Tomas Commented Feb 23, 2012 at 23:37
  • still exists as of FF 44 – chiliNUT Commented Feb 1, 2016 at 19:05
Add a comment  | 

3 Answers 3

Reset to default 28

I had the same problem, but found this interesting post and it worked for me, its just adding 2 lines of javascript. The problem occure when the hash element changes, so, we need to re-stablish it via javascript

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

this is the code

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

Or (thanks to Mottie) using jQuery detach

$('link[type*=icon]').detach().appendTo('head');

It worked for me :

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);

Refer : Changing Website Icon Dynamically

I noticed this behaviour, too. Every now and then Firefox drops a favicon or it refuses to put the favicon alongside my bookmark. I think this is a Firefox bug.

To workaround this (and for other functionality), I installed the Favicon Picker add-on. Of course, this doesn't solve your problem on other computers, like clients and the like.

发布评论

评论列表(0)

  1. 暂无评论