1

changePageの後にターゲットページを更新する方法はありますか?

私は本当に検索しますが、何もうまくいきません。

4

2 に答える 2

3

これはあなた(または他の人)が本当に探しているものかもしれません:

data-ajax="false"

<a href="/" data-ajax="false">
    <img id="mainLogo" src="logo.svg" width="215" />
</a>

これにより、ajaxの動作がバイパスされます。

Ajaxなしでリンクする

他のドメインを指すリンク、またはrel = "external"、data-ajax = "false"、またはターゲット属性を持つリンクは、Ajaxで読み込まれません。代わりに、これらのリンクにより、アニメーション化されたトランジションなしでページ全体が更新されます。両方の属性(rel="external"とdata-ajax="false")の効果は同じですが、意味が異なります。別のサイトまたはドメインにリンクする場合はrel = "external"を使用する必要がありますが、data-ajax =" false」は、ドメイン内のページがAjax経由で読み込まれないように選択する場合に便利です。セキュリティ上の制限により、フレームワークは常にAjaxの動作から外部ドメインへのリンクを選択します。

于 2014-04-09T01:59:21.913 に答える
1

次のいずれかの解決策を試してください。

1-使用$(location).attr('href',"your_html.html");

例:

単一ページテンプレートを使用しているので、2つの別々のHTMLファイル(および)に2つのjQuery Mobileページ(#page_1および)があると仮定します。#page_2page_1.htmlpage_2.html

#page_1(にあるpage_1.html)から#page_2(にある)に移動する場合はpage_2.html、次を使用します。

$(location).attr('href',"page_2.html");

以下の完全な例を確認してください。

- page_1.html

<html>
    <head>
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.1/jquery.mobile.structure-1.1.1.min.css" />
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.css" />
        <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.js"></script>

        <script>
            $(function() {
                $("#mlink").click(function() {
                    $(location).attr('href',"page_2.html");
                });

                $("#mlink_2").click(function() {
                    $(location).attr('href',"page_1.html");
                });
            });
        </script>
    </head>

    <body>
        <div id="page_1" data-role="page">
            <div data-role="content">
                PAGE 1<br>

                <!-- WHEN CLICKING ON THIS LINK, YOU'LL GO TO #page_2 in page_2.html 
                WITH PAGE REFRESH -->
                <a id="mlink">GO TO PAGE 2</a>
            </div>
        </div>
    </body>
</html>

- page_2.html

<html>
    <head>      
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.1/jquery.mobile.structure-1.1.1.min.css" />
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.css" />
        <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.js"></script>          

        <script>
            $(function() {
                $("#mlink").click(function() {
                    $(location).attr('href',"page_2.html");
                });

                $("#mlink_2").click(function() {
                    $(location).attr('href',"page_1.html");
                });
            });
        </script>
    </head>

    <body>
        <div id="page_2" data-role="page">
            <div data-role="content">
                PAGE 2<br>

                <!-- WHEN CLICKING ON THIS LINK, YOU'LL GO TO #page_1 in page_1.html 
                WITH PAGE REFRESH -->
                <a id="mlink_2">GO TO PAGE 1</a>
            </div>
        </div>          
    </body>
</html>

2-使用してみてください$.mobile.changePage("your_html.html", { reloadPage: true });

前の例を考慮し、からに移動する#page_1場合は、メソッドを次#page_2のように置き換える必要があります。$(location).attr('href',"page_2.html");

$.mobile.changePage("page_2.html", { reloadPage: true });

$.mobile.changePage()メソッドとそのオプションの詳細についてはreloadPage、次のリンクを確認してください:http: //jquerymobile.com/demos/1.1.0/docs/api/methods.html

于 2012-09-29T06:44:39.143 に答える