如何查看WebView中所访问网页的源码呢?
我也是奇怪为什么Android不直接提供一个接口来访问网页数据呢?还需要使用如此麻烦的方式来获取网页。仅三步就可以获取了。
第一步 :
创建LoadListener类
static class LoadListener {//由于需要我写成static的了。
public LoadListener() {
}
public void processHTML(String html) {
CNTrace.d("result : " + html);//看这里就是网页的源码的了。
}
}
第二步:
//找到我们的WebView。
WebView webView = (WebView) view.findViewById(R.id.webView);
//打开WebView对JavaScript的支持。
webView.getSettings().setJavaScriptEnabled(true);
//添加的JavaScript的接口。
webView.addJavascriptInterface(new LoadListener(), "HTMLOUT");
第三步:
webView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) { // 重写此方法表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边
CNTrace.d("url : " + url);
view.loadUrl(url);
return true;
}
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
//下面这句就是将HTMLOUT输出到刚才的那个类中
view.loadUrl("javascript:window.HTMLOUT.processHTML('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');");
}
});