Страницы

Поиск по вопросам

суббота, 27 октября 2018 г.

Вызывать JS функцию и записать в переменную

Возможно ли вызывать функцию, которая находится в html файле, который загружен в WebView и записать результат выполнения этой функции в java переменную?


Ответ

Попробуйте так:
Напишите такой кастомный клиент:
final class MyWebChromeClient extends WebChromeClient { @Override public boolean onJsAlert(WebView view, String url, String message, JsResult result) { Log.d("LogTag", message); result.confirm(); return true; }
} Прикрепите его к своему WebView:
mWebView.setWebViewClient(new HelloWebViewClient()); Теперь грузите скрипт в WebView:
webView.loadUrl("javascript:alert(functionThatReturnsSomething)"); Получите результат в onJsAlert message.
На практике не пробовал, но выглядит убедительно. Отпишитесь, получится ли.

Комментариев нет:

Отправить комментарий