2010-03-09 16 views
12

Problem existe solo en FireFox (desde 3.6 hasta 9), otros navegadores están bien. Mi código es el siguiente:FireFox 3.6 - 9 gotas de favicon al cambiar window.location

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

Lo más extraño es que si pongo una alerta antes de la window.location.hash = anclaje; línea, después de hacer clic en Ok favicon no desaparece, elimina esa alerta() y obtienes tu favicon desapareciendo.

Nota: también deja caer el favicon si solo hace window.location = something.

+0

sólo para añadir la información también aquí: Es un error que se ha informado aquí: https://bugzilla.mozilla.org/show_bug.cgi?id=519028 – TMS

+0

todavía existe como de FF 44 – chiliNUT

Respuesta

-4

Me di cuenta de este comportamiento también. Cada tanto, Firefox suelta un favicon o se niega a colocar el favicon junto a mi marcador. Creo que esto es un error de Firefox.

Para solucionar esto (y para otras funcionalidades), instalé el Favicon Picker add-on. Por supuesto, esto no resuelve su problema en otras computadoras, como clientes y similares.

+4

sí, es un [error de Firefox] (https://bugzilla.mozilla.org/show_bug.cgi?id=519028). Esta no es una respuesta. @Phisius Me pregunto por qué esto fue aceptado, la otra respuesta debería ser. – TMS

25

Tuve el mismo problema, pero encontré esta publicación interesante y funcionó para mí, simplemente está agregando 2 líneas de javascript. El problema occure cuando cambia el elemento de hash, así, tenemos que volver a confirmaros que a través de JavaScript

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

este es el código

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

O (gracias a Mottie) usando jQuery separar

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

mi versión de jQuery (1.6.4) no parece ser compatible con la sintaxis type = image/x-icon, así que lo cambié a type * = icon. ¿Alguna mejor sugerencia? – Mansiemans

+0

@Mansiemans, intente utilizar comillas para el valor del atributo: '$ (" link [type = 'image/x-icon'] ")' – TMS

+3

Un selector aplicable más general sería '$ ('link [rel ~ =" icono "] ')'. – cmbuckley

1

que trabajó para mí:

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

Consulte: Changing Website Icon Dynamically

Cuestiones relacionadas