これは私の2番目のプロジェクトで、jQuery Addressを使っています.Firefoxには何か変わったことがあると思います。少なくともFirefoxとWebkitでは違う動作をしていることがわかります。実際のjQueryアドレスはFirefoxでバグがありますか?
ディープリンクは、jQueryのアドレスが変更イベントを発生し、この状態に関連するJavaScriptの部分を実行する必要があります。/fooの/バーディープリンクについては
私はコンソールにイベントオブジェクトを書き留めている場合、Google Chromeで、私は解雇二つの事象があります。
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"
しかし、Firefoxで、私は唯一のイベントは、私を取らないこと、解雇していますnは現在のURIを占める:
jQuery.Event#1
path: "/"
pathNames: Array[0]
queryString: ""
timeStamp: 1335431580471
type: "change"
value: "/"
だから、明らかに私は、URIは決して:-(をオープンしようとしていない/ fooの/バー用に開きたいライトボックスFirefoxでここで
は、jQueryのアドレスのための私のコードです:今、私はちょうどのinitのfuを追加し、それがFirefoxで動作させるために、簡単な回避策を使用していますについては
$.address.crawlable(1).state('/').change(function(event) {
var page = event.path;
if (page == '/foo/bar'){
openLightbox($('#create-popup-template').html());
create_main();
}
});
Firefoxで第2の変更イベントを強制的にnction:
$.address.init(function(){
if ($.browser.mozilla)
$.address.value(window.location.pathname);
});
しかし、それは私がこれを行う必要があり、それが右に感じることはありません..私は何かが欠けています二時間がかかりましたか?
私もすでにチャンスがないと、内部および外部の変更コールバックを台無しにしようとした。..助けるため
おかげで、
トーマス。