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

Dieses Thema im Forum "macOS- & iOS-Developer, AppleScript" wurde erstellt von julian_mac, 14.09.18.

  1. julian_mac

    julian_mac Grahams Jubiläumsapfel

    Dabei seit:
    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! :)