您的位置:首页 > 移动开发

Android WebView之与 JaveScript交互

2015-09-15 11:47 363 查看

例如

获取网页内容

设置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);");


参考:

/article/11097750.html

/article/9546593.html

/article/2008488.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: