Android WebView VS Браузер телефона - PullRequest
34 голосов
/ 10 сентября 2011

Я испытал ОЧЕНЬ много странного поведения при использовании WebView в Android, и мне интересно, почему на каждом телефоне установлено так много различий между WebView и Browser?

В качестве примера я разработал несколько приложений, которые должны были отображать HTML контент, который содержал либо jquery-mobile, flash, javascript, встроенный YouTube и так далее.Поэтому у меня было много проблем с отображением этих страниц внутри WebViews.Либо они не будут отображаться вообще, только пустые, либо видео не будут воспроизводиться и так далее.И странно то, что они работают правильно, если открыты в Browser, установленном на телефоне.У меня был включен JavaScript, я пробовал diffrent WebSettings, я установил WebChromeClient и WebViewClient в поисках ошибок JavaScript ... но ничегосработало.

Итак, я пришел к выводу, что компонент WebView полностью отличается от приложения Browser, установленного на телефонах.Я думаю, что каждый производитель делает свой собственный Browser для поддержки как можно большего количества страниц, а WebView остается стандартным, включенным в Android SDK.

Я прав?Или есть другие причины / объяснения этому?Спасибо.

РЕДАКТИРОВАТЬ: Все, что предложил @ondoteam, было включено и установлено в настоящее время.У меня больше нет ссылок на те сайты, которые в любом случае были внутренними.

Ответы [ 4 ]

13 голосов
/ 19 марта 2012

В этой статье излагаются ваши предположения о различиях между производителями браузеров, что абсолютно верно: 5 проверок реальности, которые нужны каждой команде, прежде чем приступить к работе над веб-комплектом Android

... что вызывает проблемыи таинственный / трудный для диагностики / решения проблем.

Насколько ваши проблемы с вашей WebView реализацией:

Версия jquery-mobile может быть проблемой jquery-mobile загруженв AndroidView WebView , если вы используете jquery.mobile-1.0.1.min.js, вы можете попробовать несжатый jquery.mobile-1.0.1.js

И Flash: - / Удачи: Экран мигает при использовании веб-просмотра со вспышкой

Flash в WebView не работает на Android 3.2

Flash видео не отображается в WebView для Android 3.0.1

Для загрузки SWF:

Загрузка SWF в WebView

загрузка флэш-файлов (.swf) в режиме просмотра в Android

Удачи с этим, кажется, много переменных с dУстройства, версии для Android и т. д. И будут использовать метод проб и ошибок.

8 голосов
/ 10 июня 2013

Стандартный браузер и 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

8 голосов
/ 25 января 2012

WebView по умолчанию ограничено.Вы должны позвонить setWebChromeClient и членам семьи, чтобы иметь приличный опыт просмотра.Кроме того, не забудьте setJavaScriptEnabled() и другие подобные вещи.Извините за краткость ... Я думаю, вам не нужны примеры.

http://developer.android.com/reference/android/webkit/WebView.html

1 голос
/ 18 марта 2012

Вы проверили этот вопрос: jquery-mobile загружен в Android WebView

Возможно, вы используете неправильные библиотеки.Просто проверьте в любом случае.

...