5

私は現在、ネイティブ アプリケーションの一部として Android Webview 内で実行する必要がある Web ポータルに取り組んでいます。このポータル全体は、かなり AJAX ベースです。したがって、フォームが送信されるたびに、これは非同期で行われます。応答に応じて、「成功」または「エラー」というメッセージ ボックスを表示する必要があります。私は現時点でjQueryでこれをやっています。問題は、Android Webview が再描画されないため、メッセージ ボックスが表示されないことです。役立つのは、画面上の任意の場所をタップすることです。これは再描画を強制するようです。いいえ、私がする必要があるのは次のとおりです。

1) DOM の変更を別の方法で行い、Android Webview が適切に処理できるようにします。

また

2)いくつかの(疑似)イベントをトリガーするか、いくつかのダーティハックを使用して、再描画を強制します:)

誰でもこの問題を経験したことがありますか? どんなヒントでも大歓迎です。

4

4 に答える 4

1

あなたが望む結果を得るためのちょうど別の考え:

これが jQuery 経由で機能する限り、WebView で JavaScript を有効にしようとしましたか? このようにして、WebView で JavaScript コードを実行できるはずです (おそらく、jQuery からの変更が表示されます)。

myWebView.getSettings().setJavaScriptEnabled(true);
于 2013-08-19T16:48:48.063 に答える
1

非非同期呼び出しからの DOM 更新の表示で問題が発生したことは一度もないので、おそらく解決策は、非同期メソッドが注入されたオブジェクト ( WebView.addJavascriptInterface()) にコールバックし、UI スレッドで呼び出しを実行することです。 UIを更新するWebview?

于 2013-08-19T09:12:04.303 に答える