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

Android webview获取html的内容

2017-04-21 00:00 459 查看
Android用文本view加载HTML时,可以首先获取到html的内容,然后对html做自己想要的效果调整

@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = (WebView) findViewById(R.id.web);
loadHtml();

}

private void loadHtml() {
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setSupportZoom(true);
webView.addJavascriptInterface(new InJavaScriptLocalObj(), "java_obj");
webView.loadUrl("http://www.baidu.com");
webView.setWebViewClient(new CustomWebViewClient());
WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
int width = wm.getDefaultDisplay().getWidth();
webView.scrollTo(width, 0);
}

final class CustomWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}
@Override
public void onPageFinished(WebView view, String url) {
view.loadUrl("javascript:window.java_obj.getSource('<head>'+" +
"document.getElementsByTagName('html')[0].innerHTML+'</head>');");
super.onPageFinished(view, url);
}
}

final class InJavaScriptLocalObj {
@JavascriptInterface
public void getSource(String html) {
Log.e("html=", html);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: