我有这样的东西
final WebView w=(WebView)findViewById(R.id.webView1);
w.loadUrl("http://somepage.com");
有什么方法可以在某个时刻获取 WebView 中显示的 html 页面?我想将此 html 页面作为字符串变量。
关键是我想在客户端执行 javascript 后获取 html 代码...
任何指导方针?
我有这样的东西
final WebView w=(WebView)findViewById(R.id.webView1);
w.loadUrl("http://somepage.com");
有什么方法可以在某个时刻获取 WebView 中显示的 html 页面?我想将此 html 页面作为字符串变量。
关键是我想在客户端执行 javascript 后获取 html 代码...
任何指导方针?
我知道的一种方式;
在您的活动中声明 javascript 处理程序
class LoadListener{
public void processHTML(String html)
{
Log.e("result",html);
}
}
配置您的网络视图后;
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new LoadListener(), "HTMLOUT");
比 webview 客户端;
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return true;
}
@Override
public void onPageStarted(WebView view, String url,
Bitmap favicon) {
}
public void onPageFinished(WebView view, String url) {
view.loadUrl("javascript:window.HTMLOUT.processHTML('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');");
}
});