WebView
でAndroid
を使用することで多くの奇妙な動作を経験しましたが、各携帯電話にインストールされているWebView
とBrowser
の間に多くの違いがあるのはなぜですか?
例として、jquery-mobile
、HTML
、flash
、YouTube埋め込みなどを含むjavascript
コンテンツを表示する必要があるアプリケーションをいくつか開発しました。そのため、WebViews
内にこのページを表示する際に多くの問題がありました。それらはまったく表示されないか、単に空白になるか、ビデオが再生されないか、などです。そして奇妙なことに、電話にインストールされているBrowser
で開いた場合、それらは正しく動作します。 JavaScriptを有効にして、別の WebSettings
を試しました (WebChromeClient
と WebViewClient
を設定してJavaScriptエラーを探しましたが、何も動作しませんでした。
したがって、WebView
コンポーネントは、電話にインストールされているBrowser
アプリケーションとは完全に異なるという結論に達しました。私はすべてのメーカーが可能な限り多くのページをサポートするために独自のBrowser
を作成し、WebView
はAndroid SDK
に含まれる標準のページのままであると考えています。
私は正しいですか?または、これには別の理由/説明がありますか?ありがとう。
編集: @ondoteamが提案したものはすべて、現時点で有効になっており、設定されています。いずれにせよ内部のWebサイトへの参照はもうありません。
この記事では、メーカー間の在庫ブラウザの違いに関する憶測の概要を説明しますが、それは絶対に当てはまります。 5現実は、Android webkit
...これは問題を引き起こし、神秘的で問題を診断/解決するのが困難です。
WebView
実装の問題に関する限り:
_jquery-mobile
_のバージョンが問題である可能性があります jquery-mobileがAndroid WebView にロードされている場合_jquery.mobile-1.0.1.min.js
_を使用している場合は、圧縮解除してみてください_jquery.mobile-1.0.1.js
_
そしてフラッシュ:-/頑張って: フラッシュでウェブビューを使用すると画面が点滅する
WebViewのFlashがAndroid 3.2 で機能しない
Android 3.0.1 のWebViewにFlashビデオが表示されない
SWFをロードする場合:
Androidでフラッシュファイル(.swf)Webviewをロードしています
それがうまくいくと、デバイスやAndroidバージョンなどの多くの変数のように思われます。試行錯誤しながら永続化します。
ストックブラウザとWebViewは異なります。次のようなすべての調整を使用します
WebView browser;
browser.clearFormData();
browser.clearHistory();
browser.clearCache(true);
browser.getSettings().setAppCacheEnabled(true);
browser.getSettings().setDatabaseEnabled(true);
browser.getSettings().setDomStorageEnabled(true);
browser.setWebChromeClient(new WebChromeClient());
それでも、Androidブラウザによって完全に適切に読み込まれている高解像度の画像は適切に読み込まれません。通常のAndroidブラウザー。この動作は最新のAndroid 4X SDKでも発生します。つまり、Androidデフォルトのブラウザーはwebkit/webviewコードを大幅に微調整しますURLを表示する
WebView
はデフォルトで制限されています。まともなブラウジングエクスペリエンスを得るには、setWebChromeClient
と家族に電話する必要があります。さらに、setJavaScriptEnabled()
やその他の同様のものを忘れないでください。簡潔に申し訳ありません...例は必要ないと思います。
http://developer.Android.com/reference/Android/webkit/WebView.html
この質問を確認しましたか: jquery-mobileがAndroid WebView にロードされました
間違ったライブラリを使用している可能性があります。どんな場合でもチェックしてください。