Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Andrew9
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 95
#1

Не правильное отображение веб страниц в webView

21.04.2016, 13:37. Просмотров 563. Ответов 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, контроль загрузки страниц
Здравствуйте. Подскажите пожалуйста, каким образом управлять процессом...

Отображение xml в WebView
Ребята посоветуйте как сделать, есть xml ресурс в инете мне надо в бэкграунде...

Webview Веб браузер отображает некорректно страницы
Прощу прощение если тема не в теме и такое уже== правда искал не нашел Сразу...

Не правильное отображение Текста
Проект в Android Studio, минимальная версия 4.0, максимальная 4.2.2, таргет...

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

5
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,732
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,732
21.04.2016, 18:49 #4
Andrew9, честно говоря, даже исходную задачу я не понял.
Вы сначала открываете сайт, затем его скачиваете и открываете как локальный html.
Но ведь там ссылки на все скрипты и всё остальное рассчитываются относительно корневого URL, который теперь у вас исчез.

Добавлено через 1 минуту
Возможно, следует использовать более крутой метод - loadDataWithBaseURL.
0
Alexvp
111 / 75 / 8
Регистрация: 03.08.2014
Сообщений: 389
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 и парсинг страниц
Добрый день подскажите пожалуйста такой момент: есть десктоп приложение в...


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

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

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