WebView:状态代码 404,即使页面在浏览器中加载正常



我的应用程序中有一个 WebView,我在其中覆盖了以下方法,每当出现错误 404 时,我都会加载一个不同的 url-

public void onReceivedHttpError(WebView view, WebResourceRequest request, WebResourceResponse errorResponse) {
super.onReceivedHttpError(view, request, errorResponse);
//load another url
}

我面临的问题是第一个 url 返回 404,然后在此块中加载第二个 url。

但是即使页面存在并且在浏览器上运行良好,此块也会一次又一次地调用。

我从这个答案中找到了一些提示,但不明白如何处理它。有没有办法知道当找不到整个网页或网页中的某些元素时会收到状态代码 404。

就像这个答案中提到的 - Android WebView : onreceivedHttpError statusCode == 404。 onReceivedHttpError 回调将针对任何资源(iframe、图像等(调用,而不仅仅是针对主页。因此,建议在此回调中执行所需的最小工作。我只是删除了这个回调,我的应用程序现在运行良好。

最新更新