使用WebView加载网页时,获取网页数据
2017-11-18 11:40
671 查看
一、在使用WebView的过程中,遇到这样的需求,需要获取加载WebVeiw中的某些数据,然后自行处理。
1、先写好webview的加载过程:
webView = new WebView(this); //创建webview
setContentView(webView); //设置给contentview
webView.loadUrl(“ http://www.baidu.com “); //尝试的加载网页
webView.getSettings().setJavaScriptEnabled(true); //让网页支持javaScript
//在网页的javaScript中添加方法接口;
webView.addJavascriptInterface(new Handler(), “handler”);
//添加“客户端”
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
Toast.makeText(WebViewActivity.this, “网页加载完成”, 0).show();
//运行上面在JavaScript中添加的hangder方法接口;
view.loadUrl(“javascript:window.handler.show(document.body.innerHTML);”);
super.onPageFinished(view, url);
}
});
二、在代码中实现的JavaScript中添加的接口:
//添加内部类
class Handler {
//实现一添加进JavaScript中回调接口的方法
public void show(String data) {
Toast.makeText(WebViewActivity.this, “执行了handler.show方法”, 0).show();
new AlertDialog.Builder(WebViewActivity.this).setMessage(data).create().show();
}
}
三、一些关于webview中查看数据的说明
1. webView.getSettings().setJavaScriptEnabled(true);
设置webView支持js.
2.webView.addJavascriptInterface(new Handler(), “handler”);
使用了这段代码后就相当于在网页的js中增加了一个叫handler的类,而这个handler就是后面写的内部类。可以
直接在网页中这样使用:onClick=”javascript:handler.show(‘hello’)”
也就是说直接通过网页中的js来执行java代码。
3.webView.setWebViewClient(new WebViewClient()
为webView设置一个处理器(暂且这样叫吧),在webView加载完成后执行下面的方法
view.loadUrl(“javascript:window.handler.show(document.body.innerHTML);”);
document.body.innerHTML是一段js,会获取到网页中body标签里的内容,然后把这个值传递给Handler类的show方法。
1、先写好webview的加载过程:
webView = new WebView(this); //创建webview
setContentView(webView); //设置给contentview
webView.loadUrl(“ http://www.baidu.com “); //尝试的加载网页
webView.getSettings().setJavaScriptEnabled(true); //让网页支持javaScript
//在网页的javaScript中添加方法接口;
webView.addJavascriptInterface(new Handler(), “handler”);
//添加“客户端”
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
Toast.makeText(WebViewActivity.this, “网页加载完成”, 0).show();
//运行上面在JavaScript中添加的hangder方法接口;
view.loadUrl(“javascript:window.handler.show(document.body.innerHTML);”);
super.onPageFinished(view, url);
}
});
二、在代码中实现的JavaScript中添加的接口:
//添加内部类
class Handler {
//实现一添加进JavaScript中回调接口的方法
public void show(String data) {
Toast.makeText(WebViewActivity.this, “执行了handler.show方法”, 0).show();
new AlertDialog.Builder(WebViewActivity.this).setMessage(data).create().show();
}
}
三、一些关于webview中查看数据的说明
1. webView.getSettings().setJavaScriptEnabled(true);
设置webView支持js.
2.webView.addJavascriptInterface(new Handler(), “handler”);
使用了这段代码后就相当于在网页的js中增加了一个叫handler的类,而这个handler就是后面写的内部类。可以
直接在网页中这样使用:onClick=”javascript:handler.show(‘hello’)”
也就是说直接通过网页中的js来执行java代码。
3.webView.setWebViewClient(new WebViewClient()
为webView设置一个处理器(暂且这样叫吧),在webView加载完成后执行下面的方法
view.loadUrl(“javascript:window.handler.show(document.body.innerHTML);”);
document.body.innerHTML是一段js,会获取到网页中body标签里的内容,然后把这个值传递给Handler类的show方法。
相关文章推荐
- Android使用原生组件WebView加载网页和数据的方法
- 使用WebView加载数据出现找不到网页的问题之解决办法(转)
- Android使用原生组件WebView加载网页和数据的方法
- Android使用WebView加载网页及数据
- WebView使用(内存泄露+获取网页标题+js交互+调用浏览器下载文件+网页加载失败+清缓存)
- Android中使用WebView, WebChromeClient和WebViewClient加载网页
- Android中使用WebView, WebChromeClient和WebViewClient加载网页
- Android中使用WebView, WebChromeClient和WebViewClient加载网页
- Android中使用WebView, WebChromeClient和WebViewClient加载网页
- 使用WebView, WebChromeClient和WebViewClient加载网页
- Android webView 加载网页时,使用本地图片替换网页内的图片
- Android中使用WebView, WebChromeClient和WebViewClient加载网页
- Android webView 加载网页时,使用本地图片替换网页内的图片
- 获取WebView加载HTML时网页中的内容
- Android中使用WebView, WebChromeClient和WebViewClient加载网页
- cocos2dx Android 使用WebView来加载网页
- android使用webview加载网页
- android 学习心得---webview使用得到网页加载时间
- webview 设定和使用缓存来获取网页中的js,css和图片资源
- Android中使用WebView, WebChromeClient和WebViewClient加载网页