1

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 が減少する理由は何でしょうか?

4

0 に答える 0