0
我試圖讓Android的網頁的內容。我已經使用JSoup嘗試,但它並沒有使用AJAX的支持..獲取阿賈克斯加載的HTML中的WebView的Android
所以我試圖加載URL在一個不可見的web視圖,並得到在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?
- 是否有另一種方法來加載頁面的html與ajax使用庫或類似的東西?
我不是很熟悉WebView,但我用webView.loadData替換了webView.loadUrl,但showHTML方法從未被調用過。 onPageFinished被不斷調用 –