我想在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