2 つのページを切り替える jquery モバイル アプリを作成します。pagebeforeshow イベントで、いくつかの dom 要素に JSON オブジェクトのデータを入力します。ユーザーが戻るボタンを押すと、履歴スタックから特定のページのデータの ID を取得します (最初の onPageBeforeShow イベントに配置します)。
onPageBeforeShow: function() {
// if fact id already exists in history stack take it from there (only happens when "back" is pressed)
var urlh = $.mobile.urlHistory;
if( "factId" in urlh.stack[urlh.activeIndex] ) {
// load
cp10.score.currentFactId = urlh.stack[urlh.activeIndex].factId;
} else {
// store fact id in history object
urlh.stack[urlh.activeIndex].factId = cp10.score.currentFactId;
}
... go on and fill dom elements with current id
これは、戻るボタンでうまく機能します。再び前に進むと、$e.mobile.history.activeIndex 要素のおかしな動作があります。たとえば、アプリで 3 ページ進むので、activeIndex は 3 です。次に、ブラウザの戻るボタンで ...
... back: activeIndex は 2 back: activeIndex は 1 back: activeIndex は 0 forward: activeIndex は 1 forward: activeIndex は 0
それは2であるべきだと思います。私は困惑しています。
ブラウザの進むボタンを押すと、activeIndex が減少する理由は何でしょうか?