コード内のjQueryでHistory.js( クリック )を使用しています。
Ajaxを介して新しいコンテンツをロードする場合、次を使用します。
History.pushState({my:stateobject},"newtitle","supernewurl");
ブラウザでURLが更新されるため、これは機能しているようです。
ただし、戻るボタンまたは進むボタンが押されるたびにコードをフックできる場所がわかりません。これにはどのメソッド/イベントが使用されますか?
次のように、イベントハンドラーをstatechange
イベントにバインドする必要があります。
$(window).bind('statechange',function(){
// Do something, inspect History.getState() to decide what
})
History.jsに付属する完全なjavascriptスニペットがあり、サイトを完全に「ajaxify」するために使用できます。 https://github.com/browserstate/ajaxify
より多くのインスピレーションを得るためにそこを見てください。
バッククリックイベントがないため、キャプチャしません。
window.history.pushState
、window.history.popState
、window.history.replaceState
メソッドを使用して、history
オブジェクトが正しい状態にあることを確認します。
https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history
「onPopState」イベントを使用して、カスタムAJAXコードをトリガーすることができました。
window.onpopstate = function(event) {
$(fellowModal).foundation('reveal', 'close');
};
私は他のいくつかのことを試みました、そしてそれは私のために働いたものです。