Swift WKWebKit不刷新网页

Swift WKWebKit不刷新网页,swift,macos,cocoa,wkwebview,Swift,Macos,Cocoa,Wkwebview,我正在使用Xcode 8.3.3和Swift 3为使用Cocoa的iMac开发应用程序。我的目标是使用vGoToWebPage并向用户显示一个网页。我的程序多次调用此函数,但我看到的唯一网页是上次调用的网页。如何在此函数中实现窗口刷新并等待网页完全呈现 func VCgoToWebPage(theWebPage : String) { let url = URL(string: theWebPage)! let request = URLRequest(url: url)

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

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()
}

在尝试加载另一个页面之前,您可以使用导航委托确保已完成对该页面的导航。让您的类符合
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()
    }
}