Подтвердить что ты не робот

Android WebView VS Phone Browser

У меня было много странных поведений с использованием WebView в Android, и мне интересно, почему существует так много различий между WebView и Browser, установленными на каждом телефоне?

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

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

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

EDIT: Все, что предложил @ondoteam, было включено и установлено в данный момент. У меня больше нет ссылок на эти веб-сайты, которые в любом случае были внутренними.

4b9b3361

Ответ 1

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

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

Что касается ваших проблем с реализацией WebView:

Версия jquery-mobile может быть проблемой jquery-mobile, загруженной в веб-обозреватель Android, если вы используете 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) webview в android

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

Ответ 2

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

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

Ответ 3

Браузер акций и 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