Показать сообщение отдельно
Старый 15.12.2011, 00:50   #2
cyberblut
Знающий
 
Регистрация: 14.06.2009
Сообщений: 338
Написано 139 полезных сообщений
(для 257 пользователей)
Ответ: Как контролировать WebView?

Ох Ступил ты на тёмную сторону силы.
Как же я ненавижу гугл с его долбоандроидом за то, что приходится иногда вытворять, чтобы это дерьмо работало. Наверное разработчики этой шняги трахаются с собаками периодически.


А теперь по теме:

1. В своей активити создаёшь вложенный класс и обзываешь например WebViewInjector
2. Создаёшь в нём метод, пускай
String processBody(String body); 
3. Вешаешь свой инъектор на веб вьюху:
webView.addJavascriptInterface(new WebViewInjector(), "WebInjector"); 
4. Создаёшь WebViewClient и ассайнишь своей веб вьюхе
5. В методе клиента onPageFinished вызываешь следующий код:
webView.loadUrl("javascript:window.WebInjector.processBody(document.getElementsByTagName('body')[0].innerHTML);"); 
ИТОГО: в методе processBody на входе окажется всё содержимое тега <body> (ну или любого по твоему усмотрению)
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо cyberblut за это полезное сообщение:
barsunduk (15.12.2011), pax (15.12.2011)