Dies ist mein zweites Projekt mit jQuery Adresse, und ich denke, dass es etwas seltsam mit Firefox ist, oder zumindest kann ich herausfinden, dass es ein anderes Verhalten in Firefox und Webkit hat.Asual jQuery Adresse ist fehlerhaft in Firefox?
Beim Deep-Linking sollte die jQuery-Adresse ein Änderungsereignis auslösen und den JavaScript-Teil ausführen, der sich auf diesen Status bezieht.
Für/foo/bar Deep-Link, wenn ich an die Konsole das Ereignisobjekt aufschreiben, in Google Chrome, ich habe zwei Ereignisse ausgelöst:
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"
Aber in Firefox, ich habe nur ein Ereignis ausgelöst, dass ich braucht nicht n-Konto die aktuelle URI:
jQuery.Event # 1
path: "/"
pathNames: Array[0]
queryString: ""
timeStamp: 1335431580471
type: "change"
value: "/"
So offensichtlich in Firefox den Leuchtkasten die ich für den/foo/bar öffnen möchten URI nie :-(eröffnen wird
Hier ist mein Code für jQuery-Adresse:
$.address.crawlable(1).state('/').change(function(event) {
var page = event.path;
if (page == '/foo/bar'){
openLightbox($('#create-popup-template').html());
create_main();
}
});
denn jetzt habe ich eine einfache Abhilfe bin mit ihm in Firefox funktioniert, nur init fu Hinzufügen nction, um eine zweite Änderungsereignis in Firefox zu erzwingen:
$.address.init(function(){
if ($.browser.mozilla)
$.address.value(window.location.pathname);
});
Aber es ist schon das zweite Mal, dass ich dies tun müssen, und es fühlt sich nicht richtig .. bin ich etwas fehlt?
auch mit internen und externen Veränderungen Rückrufe zu vermasseln ich schon probiert, keine Chance ..
Danke für die Hilfe,
Thomas.