gpt4 book ai didi

swift - WKWebKit 不刷新网页

转载 作者:行者123 更新时间:2023-11-28 07:55:45 24 4
gpt4 key购买 nike

我正在使用 Xcode 8.3.3 和 Swift 3 为使用 Cocoa 的 iMac 开发一个应用程序。我的目标是使用 VCgoToWebPage 并向用户显示网页。我的程序多次调用这个函数,但我看到的唯一网页是最后调用的那个。如何在此函数内实现窗口刷新并等待网页完全呈现?

func VCgoToWebPage(theWebPage : String) {
let url = URL(string: theWebPage)!
let request = URLRequest(url: url)
webView.load(request)

/*The modal box allows the web pages to be seen. Without it, after a series of calls to VCgoToWebPage only the last page called is displayed. The modal box code is just for debugging and will be removed. */

let alert = NSAlert()
alert.messageText="calling EDGAR page"
alert.informativeText=theWebPage
alert.addButton(withTitle: "OK")
alert.runModal()
}

最佳答案

您可以使用导航委托(delegate)来确保在尝试加载另一个页面之前已完成对页面的导航。让您的类符合 WKNavigationDelegate 并将 webView.navigationDelegate 设置为该类实例。

var allRequests = [URLRequest]()
func VCgoToWebPage(theWebPage : String) {
guard let url = URL(string: theWebPage) else {
return
}
let request = URLRequest(url: url)
if webView.isLoading{
allRequests.append(request)
} else {
webView.load(request)
}
}
func webView(WKWebView, didFinish: WKNavigation!){
if let nextRequest = allRequests.first{
webView.load(nextRequest)
allRequests.removeFirst()
}
}

关于swift - WKWebKit 不刷新网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48108024/

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