2012-04-26 17 views
11

Este es mi segundo proyecto usando jQuery Address, y creo que hay algo raro con Firefox, o al menos puedo descubrir que tiene un comportamiento diferente en Firefox y Webkit.Asual jQuery Address tiene errores en Firefox?

Cuando la vinculación profunda, jQuery Address debe desencadenar un evento de cambio y ejecutar la pieza de JavaScript relacionada con este estado.

Por/foo/bar enlace profundo, si anoto el objeto de evento a la consola, en Google Chrome, tengo dos eventos disparados:

jQuery.Event # 1

path: "/" 
pathNames: Array[0] 
queryString: "" 
timeStamp: 1335431580471 
type: "change" 
value: "/" 

jQuery.Event # 2

path: "/foo/bar" 
pathNames: Array[2] 
queryString: "" 
timeStamp: 1335431580471 
type: "change" 
value: "/foo/bar" 

Pero en Firefox, sólo tengo un evento disparado, que no toma i n cuenta la actual URI:

jQuery.Event # 1

path: "/" 
pathNames: Array[0] 
queryString: "" 
timeStamp: 1335431580471 
type: "change" 
value: "/" 

Así que, obviamente en Firefox la luz que yo quiero abrir para el foo/bar/URI nunca va a abrir :-(

Aquí está mi código para la dirección de jQuery:

$.address.crawlable(1).state('/').change(function(event) { 
    var page = event.path; 
    if (page == '/foo/bar'){ 
     openLightbox($('#create-popup-template').html()); 
     create_main(); 
    } 
});  

por ahora estoy usando una solución simple para hacer que funcione en Firefox, simplemente añadiendo un fu init nción para forzar un segundo evento de cambio en Firefox:

$.address.init(function(){ 
    if ($.browser.mozilla) 
     $.address.value(window.location.pathname); 
}); 

Pero ha sido la segunda vez que tengo que hacer esto y no se siente bien .. me estoy perdiendo algo?

También Ya he intentado echar a perder con los cambios internos y externos devoluciones de llamada, sin posibilidad ..

Gracias por ayudar,

Thomas.

Respuesta

0

Uso Asual jQuery Adress plugin 1.6 que puede encontrar aquí: enter link description here y no en el sitio web de Asual.

En esta versión, tienen eliminar la función de rastreo (pero puede ser rastreada por Google normalmente). Además, puede comprimirlo con http://refresh-sf.com/yui/

Así que es tal vez un error de 1.5 versiones