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")
}
我如何检测 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")
}