【发布时间】:2024-01-24 04:07:01
【问题描述】:
我正在尝试在android中获取网页的内容..我已经尝试过使用JSoup,但它不支持使用ajax..
所以我试图在一个不可见的网络视图中加载 url 并在onPageFinished 方法中获取 html..
我可以得到 html,但没有出现 ajax 加载的 html。代码如下:
final WebView webView = (WebView) findViewById(R.id.testWebView);
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new MyJavaScriptInterface(this), "HtmlViewer");
webView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
Log.d(TAG, "finished loading : ");
webView.loadUrl("javascript:window.HtmlViewer.showHTML" +
"('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');");
}
});
webView.loadUrl(url);
class MyJavaScriptInterface {
private Context ctx;
MyJavaScriptInterface(Context ctx) {
this.ctx = ctx;
}
@JavascriptInterface
public void showHTML(String html) {
Log.d(TAG, "HTML: " + html);
new AlertDialog.Builder(ctx).setTitle("HTML").setMessage(html)
.setPositiveButton(android.R.string.ok, null).setCancelable(false).create().show();
}
}
所以我的问题是:
-为什么页面html没有加载ajax html?
-是否有另一种使用库或类似工具通过 ajax 加载页面 html 的方法?
【问题讨论】:
标签: javascript android html ajax android-webview