Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Andrew9
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 90
#1

Не правильное отображение веб страниц в webView - Программирование Android

21.04.2016, 13:37. Просмотров 310. Ответов 5
Метки нет (Все метки)

Подскажите в чем может быть проблема.

в webView открываю страницу
Java
1
mWebView.loadUrl("http://stackoverflow.com");
Страница загружается нормально.

Дальше в методе onPageFinished запускаю asynkTask который с загруженного сайта собирает весь HTML код в String.
и вызываю

Java
1
mWebView.loadData(finalHtml, "text/html", null);
Сайт загружается без стилей в таком виде.


Выводил String с полученным кодом, сравнивал с оригиналом - расхождений нет вообще. И так ломаются все сайты.
Миниатюры
Не правильное отображение веб страниц в webView  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2016, 13:37     Не правильное отображение веб страниц в webView
Посмотрите здесь:

Webview, контроль загрузки страниц - Программирование Android
Здравствуйте. Подскажите пожалуйста, каким образом управлять процессом загрузки страниц. А именно, загрузил я страницу в вебвию,...

Отображение xml в WebView - Программирование Android
Ребята посоветуйте как сделать, есть xml ресурс в инете мне надо в бэкграунде выполнить к нему синхронизацию и отобразить в WebView.Без...

Webview Веб браузер отображает некорректно страницы - Программирование Android
Прощу прощение если тема не в теме и такое уже== правда искал не нашел Сразу хочу оговориться я не профессиональный программист под...

Не правильное отображение Текста - Программирование Android
Проект в Android Studio, минимальная версия 4.0, максимальная 4.2.2, таргет версия 4.1. Создал пункты меню, латиница отображается...

Как реализовать правильное отображение View элементов? - Программирование Android
Здравствуйте! Хочу реализовать что-то похожее, но не пойму как добиться того, чтоб иконка справа отображалась в свой реальный размер, а...

Отработать JS в WebView - Программирование Android
Здравствуйте! Подскажите как застравить WebView отработать хотя бы простой alert? Ниже приведу весь код своего активити. package...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
21.04.2016, 14:06     Не правильное отображение веб страниц в webView #2
Andrew9, ну а, допустим, ЯваСкрипт и прочие настройки WebView включены?
onPageFinished - один из самых бажных методов, он выполняется тогда, когда в память загружен HTML. При этом могут продолжать грузиться картинки и выполняться JS.
Andrew9
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 90
21.04.2016, 17:18  [ТС]     Не правильное отображение веб страниц в webView #3
Java
1
2
mWebView.getSettings().setDomStorageEnabled(true);
        mWebView.getSettings().setJavaScriptEnabled(true);
Вот это включено.

Неужели настолько плохо ? Я вижу загруженную страницу нормальную, а потом срабатывает onPageFinished. Как избежать недозагрузок и какой метод использовать тогда?

Добавлено через 2 часа 50 минут
Поставил задержку перед onPageFinished 10сек, так же беда. Вряд ли за такое время что то не успевает загрузиться. Несколько сайтов все же нормально открываются, но всего несколько. Я уже не знаю где искать проблему.
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
21.04.2016, 18:49     Не правильное отображение веб страниц в webView #4
Andrew9, честно говоря, даже исходную задачу я не понял.
Вы сначала открываете сайт, затем его скачиваете и открываете как локальный html.
Но ведь там ссылки на все скрипты и всё остальное рассчитываются относительно корневого URL, который теперь у вас исчез.

Добавлено через 1 минуту
Возможно, следует использовать более крутой метод - loadDataWithBaseURL.
Alexvp
107 / 71 / 8
Регистрация: 03.08.2014
Сообщений: 344
21.04.2016, 19:39     Не правильное отображение веб страниц в webView #5
Цитата Сообщение от Andrew9 Посмотреть сообщение
запускаю asynkTask который с загруженного сайта собирает весь HTML код в String
Файлы CSS не входят в HTML-код, они подключаются при загрузке страницы по протоколу HTTP. А вы просто качаете текстовый файл, что собственно и есть HTML-файл. Поэтому результат соответствует вашим действиям.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2016, 11:39     Не правильное отображение веб страниц в webView
Еще ссылки по теме:

WebView в фоне - Программирование Android
Нужно в webview открыть определенную ссылку, однако на сайте стоит защита , и открывается только с браузера. Каким образом можно...

Работа с webview - Программирование Android
Привет ребята! У меня следующая проблема. for (String key : map.keySet()) { textView.append("\n\t"+key + "\n"); ...

Замена WebView - Программирование Android
Добрый вечер. Ваша помощь нужна очень. Чем можно заменить WebView (просто как я читал его не стоит использовать для вывода больших...

Кодировка в WebView - Программирование Android
Открываю в WebView html-файл из assets через метод loadUrl(String) и вижу вместо русских символов знаки вопроса в черных ромбах. Задавал...

WebView zoom - Программирование Android
Необходимо автоматически промасштабировать содержимое WebView. WebView.zoomBy не предлагать... Добавлено через 4 часа 57 минут ...

Android webview - Программирование Android
Здраствуйте!Нужен готовый webview apk.есть примеры?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Andrew9
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 90
22.04.2016, 11:39  [ТС]     Не правильное отображение веб страниц в webView #6
Понял в чем проблема, подскажите как решить. Основная задача заключается в том что бы получить страницу в String HTML, сделать
Java
1
2
HTML.replace("</body>","<javascript>alert(message)
</javascript> </body>");
и отобразить новую страницу, что бы сработал js. Все работает, вот только ломаются стили.

Добавлено через 57 секунд
loadDataWithBaseURL буду пробовать, завтра сообщу о результатах

Добавлено через 15 часов 46 минут
Java
1
myWebView.loadDataWithBaseURL(null, HTML, "text/html", "UTF-8", null);
Дает тот же результат, сайт без стилей грузится.
Пробовал передавать вместо первого null - ссылку на сайт, у которого я беру HTML, меняю и пытаюсь отобразить
Yandex
Объявления
22.04.2016, 11:39     Не правильное отображение веб страниц в webView
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru