2010-03-09 2 views
12

Problem existiert nur auf FireFox (von 3,6 bis 9), andere Browser sind in Ordnung. Mein Code sieht wie folgt aus:FireFox 3.6 - 9 Tropfen Favicon beim Wechsel window.location

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

Das Seltsame ist, dass, wenn ich stelle eine Warnung vor dem window.location.hash = Anker; Zeile, nach dem Klicken auf Ok, verschwindet das Favicon nicht, entferne diesen Alarm() und du bekommst dein Favicon zum Verschwinden.

Hinweis: Es lässt auch das Favicon fallen, wenn Sie nur window.location = something tun.

+0

einfach die Informationen hier auch hinzufügen: Es ist ein Bug, der hier berichtet wurde: https://bugzilla.mozilla.org/show_bug.cgi?id=519028 – TMS

+0

existiert nach wie vor ab FF 44 – chiliNUT

Antwort

-4

Ich bemerkte dieses Verhalten auch. Ab und an löscht Firefox ein Favicon oder lehnt es ab, das Favicon neben mein Lesezeichen zu legen. Ich denke, das ist ein Firefox-Bug.

Um dies zu umgehen (und für andere Funktionalität), habe ich die Favicon Picker add-on installiert. Natürlich löst das nicht Ihr Problem auf anderen Computern, wie Clients und dergleichen.

+4

Ja, es ist ein [Firefox-Bug] (https://bugzilla.mozilla.org/show_bug.cgi?id=519028). Dies ist keine Antwort. @Phisius Ich frage mich, warum das akzeptiert wurde, sollte die andere Antwort sein. – TMS

25

Ich hatte das gleiche Problem, aber fand diese interessante Post und es funktionierte für mich, es nur Hinzufügen von 2 Zeilen Javascript. Das Problem occure, wenn die Hash-Element ändert, so müssen wir es wieder festige über Javascript

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

dies der Code ist

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 (dank Mottie) mit jQuery lösen

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

Meine Version von jQuery (1.6.4) scheint die Syntax type = image/x-icon nicht zu unterstützen, also habe ich sie in den Typ * = icon geändert. Irgendwelche besseren Vorschläge? – Mansiemans

+0

@Mansiemans, versuche, Anführungszeichen für den Attributwert zu verwenden: '$ (" link [type = 'image/x-icon'] ")' – TMS

+3

Ein allgemeiner anwendbarer Selektor wäre '$ ('link [rel ~ =" Symbol "] ')'. – cmbuckley

1

Es ist für mich gearbeitet:

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

Siehe: Changing Website Icon Dynamically