• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Es regnet, ist neblig und kalt, alle sind krank und der Chef wird zunehmend cholerisch. Das Thema des Monats ist also folgerichtig --> Das Grau(en)
    Wir sind gespannt, war Euch dazu einfällt! Zum Wettbewerb --> Klick
  • Auch in diesem Jahr möchten wir auf unserer Webseite mit einem passenden Banner etwas weihnachtliche Stimmung verbreiten. Jeder Apfeltalker kann, darf und sollte uns einen Banner-Entwurf zusenden, wie und wo das geht, könnt Ihr hier nachlesen --> 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! :)