通常,当您在 Android WebView 页面内单击并转移到另一个页面时, WebViewClient 会接收对 shouldOverrideUrlLoading 方法的调用 . 但是,这不适用于 money.cnn.com . 当我浏览 money.cnn.com 时,我只收到 onPageStartedonPageFinished 的回调 . 两者都只有一次 . 在没有给 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