私の知る限り、ヒストリープラグインは正確にどのブラウザボタンが押されたかを検出することはできません。
あなたができることは、訪問したページの履歴を保存して、新しいページが現在のページよりも過去の履歴に戻っているかどうかを確認することです。戻る/進むボタンを使わずにページを再訪すると、おそらく下のコードで間違った結果になるでしょう。
未テストのコード例:
var visitedPages = [$.address.path()];
var currentPage = $.address.path();
$.address.internalChange(function() {
visitedPages.push($.address.path());
});
$.address.externalChange(function() {
var newPage = $.address.path();
var currentPageIndex = -1;
var newPageIndex = -1;
for (var i = 0; i < visitedPages.length; i++) {
if (visitedPages[i] == currentPage) currentPageIndex = i;
if (visitedPages[i] == newPage) newPageIndex = i;
}
if (newPageIndex == -1 || currentPageIndex == -1) {
console.log("unkown button pressed");
} else {
if (newPageIndex > currentPageIndex) {
console.log('forward pressed');
} else
if (newPageIndex < currentPageIndex) {
console.log('back pressed');
} else {
console.log('page reloaded?');
}
}
});
私は実際に動作させることはできません。私はjsfiddleを作成しようとしていますが、私はどちらも能力がありません。ありがとう – Alvaro
私はあなたに恩恵を与えましたが、それでもうまくいきません。あなたはフィドルを投稿できますか? – Alvaro
多分あなたはフィドルを始めることができ、私たちはそこに問題が何かを見るでしょうか? – Tyron