С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

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

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

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


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

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

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

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

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

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

Отображение веб страниц - C#
Доброго времени суток) Возник следующий вопрос, прошу помощи найти ответ. Возможно ли отображать веб-страницу на форме? И если да,...

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

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

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

Добавлено через 1 минуту
Возможно, следует использовать более крутой метод - loadDataWithBaseURL.
0
Alexvp
108 / 72 / 8
Регистрация: 03.08.2014
Сообщений: 350
21.04.2016, 19:39 #5
Цитата Сообщение от Andrew9 Посмотреть сообщение
запускаю asynkTask который с загруженного сайта собирает весь HTML код в String
Файлы CSS не входят в HTML-код, они подключаются при загрузке страницы по протоколу HTTP. А вы просто качаете текстовый файл, что собственно и есть HTML-файл. Поэтому результат соответствует вашим действиям.
0
Andrew9
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 95
22.04.2016, 11:39  [ТС] #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, меняю и пытаюсь отобразить
0
22.04.2016, 11:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2016, 11:39
Привет! Вот еще темы с ответами:

Отображение веб страниц - Удаление вирусов
Доброго времени суток, Уважаемые! Появилась проблемка, даже не заметил как, состоит в том что при переходе на сайт отображается исходный...

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

Правильное оформление колонтитулов и номеров страниц на альбомных листах - MS Word
Добрый день! Подскажите, пожалуйста, есть ли ГОСТ, в котором прописано, как именно необходимо размещать колонтитулы и номера страниц на...

Правильное отображение - HTML, CSS
Уважаемые css-ники! помогите с правильным отображением двух мест рисунками: &lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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