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

Оптимальные настройки WebView для поддержки HTML5?

Мне интересно определить, какие оптимальные настройки для WebView предназначены для показа содержимого HTML5.

В настоящее время я использую:

mWebView.setFocusable(true);
mWebView.setFocusableInTouchMode(true);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setPluginsEnabled(true);
mWebView.getSettings().setRenderPriority(RenderPriority.HIGH);
mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.getSettings().setDatabaseEnabled(true);
mWebView.getSettings().setAppCacheEnabled(true);
mWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);

С этими настройками показатель WebView 189 (бонус w/1) на html5test.com. Мне интересно, есть ли какие-либо настройки, которые я должен/мог бы изменить, чтобы получить дополнительную совместимость с HTML5. Конечно, этот список является объединением настроек, скомпилированных в течение нескольких месяцев, поэтому я также открыт для того, чтобы сказать, что я делаю что-то неправильно. У меня нет контроля над содержимым html, но я стараюсь поддерживать как можно более широкую полосу HTML5.

4b9b3361

Ответ 1

Я бы добавил:

    mWebView.setWebViewClient(new WebViewClient()); // tells page not to open links in android browser and instead open them in this webview

Ответ 2

Вот (более старый) проект, касающийся оптимальных настроек HTML5:
http://code.google.com/p/html5webview/source/browse/trunk/HTML5WebView/src/org/itri/html5webview/HTML5WebView.java

FYI, обычно я также устанавливаю путь хранения базы данных для HTML5:

mWebView.getSettings().setDatabaseEnabled(true);
mWebView.getSettings().setDatabasePath("/data/data/" + Actvity.getPackageName() + "/databases/");

Ответ 3

IMHO, ответ, вероятно, гораздо больше, чем ваша версия Android, чем конкретные настройки.

Взгляните на раздел "Таблицы" на странице CanIUse.com:

... или MobileHTML5.org: