#android
#Android
Вопрос:
У меня есть HTML-страница внутри моего WebView с вводом, ввод имеет id = «inName«. Как заполнить этот ввод из activity некоторой строкой?
Ответ №1:
Вы могли бы попробовать следующее:
mWebView.loadUrl("javascript: document.forms['myform_id'].value ='" newValue "'");
С наилучшими пожеланиями,
Тим
Комментарии:
1. Я бы использовал ‘document.getElementById(«inName»)’, чтобы получить элемент, и вам нужно будет экранировать одинарные кавычки в newValue.
2. вы абсолютно правы — если вы хотите задать строку, вам нужно сказать .value='» newValue «‘)»);
3. @Kevin Galligan не могли бы вы рассказать, пожалуйста, как использовать этот код? просто добавьте после этого код, по которому я попадаю на сайт? потому что в моем случае этот код не работает = (
4. Что-то вроде следующего. Способ ‘forms’, вероятно, был бы хорош, но я предпочитаю прямую ссылку на идентификатор. Кроме того, здесь я избегаю одинарных кавычек. mWebView.loadUrl(«javascript:document.getElementById(‘inName’).value ='» Новое значение.заменить(«‘», «‘») «‘)»);
Ответ №2:
Другой способ — использовать JavascriptInterface. Например:
class JsObject {
@JavascriptInterface
public String toString() { return "injectedObject"; }
}
webView.addJavascriptInterface(new JsObject(), "injectedObject");
webView.loadData("", "text/html", null);
webView.loadUrl("javascript:alert(injectedObject.toString())");
Комментарии:
1. Предоставление образца всегда лучше, чем публикация какой-либо ссылки, которая, возможно, уже мертва