4

彼ら!
jquerymobile 1.3.0 と jquery 1.9.1 を使用しています。2
つ以上の jquerymobile ページがあります。
例えば:

<div data-role="page" id="firstPage">
    <!-- Header -->
    <div data-role="header">
        <h3>First page</h3>
    </div>
    <!-- Body -->
    <div data-role="content">
        some content ...
    </div>
</div>

<div data-role="page" id="secondPage">
    <!-- Header -->
    <div data-role="header">
        <h3>Second page</h3>
    </div>
    <!-- Body -->
    <div data-role="content">
        some content ...
    </div>
</div> 

私は最初のページから2番目のページに変更する必要があり、いくつかのパラメーターを送信する必要があります。通常、
このメソッドを使用しようとしたURL:

$.mobile.changePage('#secondPage',
    {
        data: {id: 123, module: 111}
    }
);

このメソッドの後、最初のページの要素は非表示になり、URL は変更され
www.mydomain.com/main.html?id=123&module=111 ますが、ページは変更されません。ページをこのページのハッシュへのURLに変更するためだと思います。
URLは次の形式である必要があります

www.mydomain.com/main.html?id=123&module=111#secondPage

それから私は使用しようとしました:

location.href += '?id=1234&module=111#secondPage';

このメソッドは機能します)))しかし、firstPageに戻ろうとすると、ページが変更されますが、URLにはデータが残ります

www.mydomain.com/main.html?id=123&module=111

次に、次の方法を使用してこのデータを削除しようとしました

location.href = location.href.replace(location.origin, "").replace(location.pathname, "");

しかし、このメソッドの後、firstPage がループして変更されます。
みんな助けてください。データを secondPage に送信し、firstPage に戻ったときにこのデータを削除するにはどうすればよいですか?
私の戻るボタンは、戻るためにネイティブの jquerymobile メソッドを使用しました。

<a data-theme="a" data-role="button" data-transition="fade" href="#firstPage" data-iconpos="notext" class="ui-btn-left backButton"></a>

P/S。私の英語でごめんなさい、私の英語レベルは初級です

4

1 に答える 1

1

1 つの html に 2 つのページを定義すると、URL で他のページに引数を送信する必要がなくなります。それらを使用するには、JavaScript 変数とページ イベントを使用するだけです。

URL 引数を使用してサーバー側コードを実行する場合は、別の .html ファイルを使用してください。1 つの HTML ファイル、1 つのページ スタイル。

しかし、モバイル デバイスでのスムーズな遷移効果と最高のユーザー実験のために、私は AJAX を使用してページをライブで作成/変更することを好みます。

よろしくお願いします

于 2013-04-11T23:17:54.657 に答える