<分区>
我有这样的东西
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代码...
有什么指导方针吗?
最佳答案
我知道的一种方式;
在您的 Activity 中声明 javascript 处理程序
class LoadListener{
public void processHTML(String html)
{
Log.e("result",html);
}
}
配置您的 WebView 后;
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>');");
}
});
关于javascript - 从加载的 WebView 中获取 HTML 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19518950/