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);
}
}
@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);
}
}
相关文章推荐
- Android-通过WebView获取html内容
- Android通过WebView获取解析html内容
- 获取WebView加载HTML时网页中的内容
- android webview获取网页内容,高版本api解决办法
- 获取WebView加载HTML时网页中的内容
- android中webview加载html,输入框不能输入内容问题记录
- Android WebView 获取html iframe内部链接
- android webview获取html页面属性
- Android中WebView获取网页中标题 ,内容, 图片的方法
- Android Webview获取网页标题和文本内容
- iOS webView获取html内容
- iOS webView获取html内容
- Android WebView获取网页中JavaScript弹框内容
- 获取WebView加载HTML时网页中的内容
- 获取WebView加载HTML时网页中的内容
- Android中通过Java获取Webview加载内容
- iOS webView获取html内容
- Android中通过WebView获取Html中的隐藏域
- Android 获取WebView的内容宽度高度
- Android:轻松获取WebView的内容宽度