例如
获取网页内容
设置WebView Enable JavaScript
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.addJavascriptInterface(new InJavaScriptLocalObj(), "local_obj");
Java供Js调用的类
final class InJavaScriptLocalObj {
@JavascriptInterface
public void showSource(String html) {
System.out.println("====>html="+html);
}
}
WebViewClient中的onPageFinished加入代码
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
view.loadUrl("javascript:window.local_obj.showSource(document.getElementsByTagName('html')[0].innerHTML);");
}
}
扩展阅读
javascript中获取 head 的方法
var head = document.head || document.getElementsByTagName(‘head’)[0];
所以上文获取showSource的参数可以为
view.loadUrl("javascript:window.local_obj.showSource(document.head.innerHTML || document.getElementsByTagName('head')[0].innerHTML);");
参考:
http://blog.youkuaiyun.com/wgrzhuaq/article/details/9943027
http://blog.youkuaiyun.com/zzf112/article/details/19546859
http://blog.youkuaiyun.com/yung7086/article/details/34824167

本文介绍如何使用Android中的WebView加载并解析网页内容,通过启用JavaScript并与之进行交互,具体包括设置WebView允许JavaScript运行、定义Java类供JavaScript调用及在页面加载完成后获取HTML源码。
162

被折叠的 条评论
为什么被折叠?



