通常,当您在 Android WebView 页面内单击并转移到另一个页面时, WebViewClient
会接收对 shouldOverrideUrlLoading
方法的调用 . 但是,这不适用于 money.cnn.com . 当我浏览 money.cnn.com 时,我只收到 onPageStarted
和 onPageFinished
的回调 . 两者都只有一次 . 在没有给 WebViewClient
回调的情况下浏览网站内部 . 如果我只在 money.cnn.com 里面浏览,我的日志只显示这两行 . 不多也不少 .
> 10-14 14:10:25.581 28886-28886/com.myapp I/MyApp: onPageStarted
> 10-14 14:10:36.822 28886-28886/com.myapp I/MyApp: onPageFinished
我的代码是:
mWebView.setWebViewClient(mSWWebViewClient);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.loadUrl(getUrl());
WebViewClient mSWWebViewClient = new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
Log.d("MyApp", "onPageStarted ");
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
Log.d("MyApp", "onPageFinished ");
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.d("MyApp", "shouldOverrideUrlLoading ");
}
};
我的问题是为什么 shouldOverrideUrlLoading
根本没有收到回调,如何在浏览时检测到该网站内容的变化?
Edition 最后,我已经完成了解决方案https://stackoverflow.com/a/40551880/955321