我想在webview中一個接一個地加載2個URL,並抓住他們的html。我的代碼看起來如下:loadUrl在Android的webview中兩次
final WebView webview = (WebView) findViewById(R.id.showInfo_webView);
webview.getSettings().setJavaScriptEnabled(true);
webview.addJavascriptInterface(new MyJavaScriptInterface(), "HTMLOUT");
webview.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
webview.loadUrl("javascript:window.HTMLOUT.showHTML('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");
}
});
webview.loadUrl(response);
webview.loadUrl(response2); <--
class MyJavaScriptInterface {
@JavascriptInterface
public void showHTML(String html) {
...
}
}
在showHTML
我有一個計數器,以便我可以在第一和第二個呼叫區分。但是,showHTML
只被調用一次。這是爲什麼?我需要完全重新創建webview嗎?
我試過在第二個loadUrl
之後調用webview.reload()
,但是看起來第二個頁面加載了兩次?
編輯:我需要處理第一個網址的html來獲取第二個網址。
@MikeM。你的意思是做HTTP post/get?不起作用,因爲我正在處理動態網頁 – Dimebag