WebView 检测网站何时成功加载

WebView detect when website has loaded successfully

我如何检测 WebView 网站何时成功加载 NO 错误。我试过 onPageFinished 但当互联网连接失败时它仍然被调用。我想在网站加载成功且没有错误(并且没有 "Website not available")

时再次显示我的视图

这就是我目前正在使用的,甚至在请求出错时调用(例如,没有互联网等)

override fun onPageFinished(view: WebView?, url: String?) {
    super.onPageFinished(view, url)

    view?.visibility = View.VISIBLE
    rootView.loadingSpinner.visibility = View.INVISIBLE
}

一种方法:使用这个(已弃用但仍然有效)api。将为您正在加载的主要 url 调用,而不是像新版本那样的每个网络资源。这应该同时处理没有互联网连接和 http 错误响应。

@SuppressWarnings("deprecation")
override fun onReceivedError(view: WebView, errorCode: Int, description: String, failingUrl: String) {
//hide it, etc...
              // println("ON receive error:  $errorCode  $description  $failingUrl")
}