我在Android中遇到了webview的问题。 我正在使用一个包含2个片段的应用程序;第一个是EditText,第二个是webview。
是否可以通过调用修改加载页面的DOM的javascript函数来传递webview中加载的Edittext的字符串?
例如,在webview中加载后:
webview.loadUrl("http://google.it");
我想在google搜索页面的edittext中插入一个从java传递的字符串;我尝试了这个作为第一步:
webview.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url)
{
webview.loadUrl("javascript:(function() {alert();})()");
}
});
但不显示警报。
感谢您的反馈,并抱歉我的英语不完美。
答案 0 :(得分:6)
试试这个:
webview.getSettings().setJavaScriptEnabled(true);
webview.setWebChromeClient(new WebChromeClient());
webview.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url){
String javaScript ="javascript:(function() {alert();})()";
webview.loadUrl(javaScript);
}
});
webview.loadUrl(url);
以下是link来源!
答案 1 :(得分:0)
alert()有点棘手。您需要捕获它并将其转换为Toast。
答案 2 :(得分:0)
这项工作对我来说
webview.loadUrl("javascript:function sagvelgardkharast() { document.getElementById('gkFooter').style.display='none'; " +
" document.getElementById('gkBottom5').style.display='none'; " +
" } sagvelgardkharast(); ");