WebView怎么获取Html元素的值

如题所述

只能通过JavaScript来获取, 然后通过JS获取, 然后通过JavaScriptInterface来传递给Java层。

做webview,遇到2种需求,一种是在自己服务器上的HTML中获取数据,另一种是通过自己服务器上的HTML中的超链接跳到另一个站点的HTML中,并获取数据。
于是,总结了2种通过webview获取网页上的数据的方式:
第一种:简单点的,直接通过js调java,在调用方法的过程中将数据通过方法的参数传递给Android端,(前提:服务端有对应的faxun对象,而且调用的方法是showImages(String[] imgUrls))。

class MyJavaScriptInterface {

MyJavaScriptInterface() {
}

/**
* js调java,显示图片
*
* @param imgUrls
*/
@JavascriptInterface
public void showImages(String[] imgUrls) {
LogUtils.i(TAG, "imgUrls = " + imgUrls[0]);
NewsDetailWebviewActivity.this.imgUrls = imgUrls;
}
}

...
webView.addJavascriptInterface(new MyJavaScriptInterface(), "faxun");
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-01-22
只能通过JavaScript来获取,
然后通过JS获取,
然后通过JavaScriptInterface来传递给Java层
答题不易,互相理解,您的采纳是我前进的动力,
您也可以向我们团队发出请求,会有更专业的人来为您解答。