[Swift] navigationAction.request in neuem Tab (WKWebView, macOS)

julian_mac

Grahams Jubiläumsapfel
Registriert
30.05.14
Beiträge
107
Hallo zusammen,

habe bereits in mehreren Foren um Hilfe gebeten, aber niemand konnte mir helfen.
Ich arbeite an einem kleinen Browser, bzw. programmiere diesen in Swift um.

Durch die untenstehende Funktion erkenne ich _blank Links. In diesem Fall soll durch den NSDocumentController ein neuer Tab erstellt werden und das neue navigationAction.request soll in dem webView des neuen Tabs geöffnet werden. Der neue Tab wird erzeugt, aber das navigationAction.request wird im bisherigen Tab geöffnet und nicht im neuen Tab. Wie kann ich auf den webView eines neu generierten Tabs zugreifen?

Code:
    func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView?
    {
        if navigationAction.targetFrame == nil {
            // New Tab
            guard ((try? NSDocumentController.shared.openUntitledDocumentAndDisplay(true)) as? Document) != nil else {
                // Document konnte nicht erstellt werden
                return nil
            }
            // Start Request
            self.webView?.load(navigationAction.request)
        }
        return nil
    }

Vielen Dank für Eure Hilfe! :)