gpt4 book ai didi

ios - UIWebView FinishLoad/检测问题

转载 作者:行者123 更新时间:2023-11-30 12:26:16 24 4
gpt4 key购买 nike

使用 UIWebView 时,我想检测网页在 iOS 应用程序中完成加载的时刻。为此,我尝试使用 this post 中提到的解决方案.

但问题是,webViewDidFinishLoad() 函数在页面出现在显示屏上之前就被调用了(几乎在调用loadRequest()之后),这使得解决办法没用。我错过了什么吗?或者有更好的(或不同的)方法吗?

附注我使用的是 Xcode 版本 8.3.2 和 iOS 版本 10.3.2

最佳答案

每一个加载HTML内容的页面都会调用webViewDidFinishLoad...所以我设置了三种类型的验证。使用您最喜欢的一个。

var webViewPages = 0

func webViewDidStartLoad(_ webView: UIWebView) {
webViewPages += 1
}

func webView(_ webView: UIWebView, didFailLoadWithError error: Error) {
webViewPages -= 1
}

func webViewDidFinishLoad(_ webView: UIWebView) {

if (webView.isLoading){
return
}

if webView.stringByEvaluatingJavaScript(from: "document.readyState") != "complete"{
return
}

webViewPages -= 1

if webViewPages > 0{
return
}
// Calculating webview height
let height = Int(webView.stringByEvaluatingJavaScript(from: "document.body.scrollHeight")!)

}

关于ios - UIWebView FinishLoad/检测问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44171232/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com