2

これら 2 つのリダイレクトの違いは何ですか? 私が使用するとき、クロムとアンドロイド4で正しく動作するアプリケーションを持っていますが、アンドロイド2.xxでは動作しません

document.location.href='#location';

しかし、私が使用するとき

$.mobile.changePage('#location');

クロムでもアンドロイドでも正しく動作しません。リダイレクトが発生しているように見えますが、その直後にアプリケーションのインデックス ページにジャンプします。

4

4 に答える 4

2

$.mobile.changePageナビゲーション用の jQM スタイルのメソッドです。つまり、AJAX ナビゲーションが有効になっている場合 (デフォルトで有効になっています)、リンク先のページは非同期に取得され、現在のページの DOM に挿入されます。

これは、ターゲット ページをフェッチし、それをスキャンして jQM ページ ( data-role='page'.

詳細については、 jQuery Mobile のドキュメントを確認してください。

ことを確認してください

  • ターゲット ページに jQuery Mobile ページがある
  • ターゲット ページは jQM によって取得されます (Fiddler または同様のツールを使用)
  • 現在のページのDOMに存在すること

また、AJAX ナビゲーションを無効にすることもできます (モバイル アプリケーションを開発する場合、これは間違った考えです)。これは、ハンドラーajaxEnabledで false に設定することによって行われます。mobileinit詳細については、jQM 構成ドキュメントを確認してください。mobileinitページに jquery-mobile.js を含める前に、フックが実行されていることを確認してください。

于 2012-08-06T08:11:36.260 に答える
0

これを試して:

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

jQuery Mobileは、アプリケーションで使用するために$.mobileオブジェクトのいくつかのメソッドとプロパティを公開します。

于 2012-08-06T06:48:54.177 に答える
0

これを試して:

 webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
               if(//url filtering){ 
                   view.loadUrl(url);
               }
                return true;
            }
        });
于 2014-05-27T10:13:52.947 に答える