• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

[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! :)