0

私が達成しようとしているのは、履歴に特定のページを記録しないことです。そのため、戻るボタンで前のページに戻ることはありません。

たとえば、ページがログイン ページまたは登録ページである場合は記録しないでください。それ以外の場合はページを記録します。

function changePage(page)
if(page == 'login' || page == 'register') {

$.mobile.changePage( "#" + page , {
    transition: "pop",
    reverse: false,
    changeHash: false
});

} else {
$.mobile.changePage( "#" + page, {
    transition: "pop",
    reverse: true,
    changeHash: true
});
}

}//end change page

しかし、関数が呼び出されるたびにチェックするように、グローバルな方法で mobile.changePage 関数を無効にしたいと考えています。誰でもこれを行う方法を教えてもらえますか?

4

2 に答える 2

0

以下に示すように、コード内のすべての呼び出しをchangePage()カスタム関数に置き換えて、 myChangePage()jQuery Mobile を拡張できます。

$(document).bind('mobileinit', function(){

  $.mobile.myChangePage = function(page, options){

    if ($.inArray(page.substr(1), ['login', 'register']))
    {
      $.extend(options, {
        reverse: false,
        changeHash: false
      });
    }

    $.mobile.changePage(page, options);

  };
});

使用例:

$.mobile.myChangePage('#login');
于 2012-11-06T21:54:42.807 に答える