0

シミュレーターで Cordova アプリを実行すると、正常に読み込まれます (非常に遅いですが、よくある不満のようです)。私は jQuery Mobile を使用していますが、JQM のフォーム メソッドに関する特定の問題と、JQM と Google マップの間の競合により、私のアプリは、JQM が通常誘導する AJAX 遷移ではなく、特定のページで DOM 全体のリロードが発生するように構成されています。アプリは完全に別の html ファイルに取り込まれます。

これは iOS では正常に動作しますが、Android Emulator で実行すると、「アプリケーション エラー: ネットワーク エラーが発生しました。(file:///android_asset/www/nameOfPageIWasGoingTo.html?parameter1=34¶meter2=true)」が表示されます。

コルドバはこれらの各ページに再含まれており、私は行を配置しました

super.setIntegerProperty("loadUrlTimeoutValue", 60000);

メインの .java ファイルで、onCreate が次のようになるようにします。

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setIntegerProperty("loadUrlTimeoutValue", 60000);
super.loadUrl("file:///android_asset/www/index.html");
}

それにもかかわらず、私はこのエラーがあります。誰でも説明できますか?

4

4 に答える 4

1

URL でパラメーターを渡そうとすると、WebView がページの読み込みに失敗する Android のバグがあります。Android は、 「nameOfPageIWasGoingTo.html 」をロードしてパラメーターをページに渡す必要があるときに、 「nameOfPageIWasGoingTo.html?parameter1=34¶meter2=true」をファイル名として扱います。当面は、localStorage.setItem/getItem を使用してページ間でパラメーターを渡す必要があります。

それまでの間、これらの問題にスターを付ける必要があります。

https://code.google.com/p/android/issues/detail?id=17535

https://code.google.com/p/android/issues/detail?id=17327

于 2012-05-29T18:59:21.037 に答える
0

IceCreamCordovaWebViewClient を使用する必要がある場合があります

@Override
    public void init() {
    super.init(webView, new IceCreamCordovaWebViewClient(this, webView), new CordovaChromeClient(this, webView));
}
于 2013-06-05T18:34:22.480 に答える
0

クエリ文字列パラメーターを使用しないでください。代わりに window.localStorage を使用してください。少し遅れましたが、確認されました =)。

于 2013-09-26T16:58:17.837 に答える