(используя Samsung Galaxy Tab и Android 3.0, это предназначено для работы на каждом планшете 3.0+, как и в их браузерах, но не в веб-просмотре)
У меня есть страница с CSS и jQuery, которая отлично загружается в браузерах, браузерах Android и устройствах iOS, но веб-просмотр Android отказывается загружать ее последовательно.
Я сузил проблему до простого пропуска javascript при загрузке (реплицируя проблему с некоторыми демонстрационными приложениями javascript для веб-просмотра). Почему это?
ВОТ ПОЛНЫЙ ТЕСТ HTML-КОД http://pastebin.com/GmE2vEYx
и вот как я это называю:
myWebview.loadUrl("file:///android_asset/myPage.html");
myWebview.getSettings().setJavaScriptEnabled(true);
myWebview.setWebChromeClient(new WebChromeClient());
Порядок этих трех вызовов не влияет на результат.
myWebview.getSettings().setJavaScriptEnabled(true);
myWebview.setWebChromeClient(new WebChromeClient());
myWebview.loadUrl("file:///android_asset/myPage.html");
Одна вещь, которую я заметил, заключается в том, что если вы дадите ему время (приостановив приложение с помощью точки останова в отладчике), то javascript будет загружаться более последовательно. Это привело меня к некоторым надуманным экспериментам с попытками замедлить загрузку приложения, но на самом деле это не желаемый пользовательский опыт. Я действительно надеюсь, что веб-просмотр Android действительно не является IE6 мобильной разработки.
Дополнительные факты:
Если вы удалите теги <script>
, которые содержат весь Jquery, страница быстро загрузится со всем форматированием CSS. Как только добавляется Jquery, вообще ничего не загружается.
Я также нашел несколько других вопросов, которые сталкиваются с той же проблемой, многие из них остаются без ответа или не имеют окончательного ответа на то, что искал ОП :(
см.: Android: не удается получить javascript для работать в WebView даже с setJavaScriptEnabled(true)
Перезагрузка страницы (Webview.loadUrl) приводит к Javascript не обрабатывается (полностью)
http://groups.google.com/group/android-developers/browse_thread/thread/9962064ef217a5a7#
JavaScript иногда не работает в веб-просмотре Android
Android WebView не загружает JavaScript файл, но браузер Android загружает его нормально
Android Webview не может обрабатывать javascript?
предложения? давайте докопаемся до сути! В документации по Android говорится, что веб-просмотр имеет ограничения, но я не знаю, где этот предел, поскольку люди постоянно создают приложения HTML CSS JS!