WKWebView открыть вкладки в Safari не в WebView - PullRequest
0 голосов
/ 08 декабря 2018

У меня небольшая проблема.Я сделал веб-приложение для моего сайта.Все работает нормально, вместо загрузки ссылок с target = "_ blank".Они загружаются в Safari.Я хочу, чтобы они были загружены в веб-обозрение.Кто-нибудь знает, как это сделать?

Вот мой код

//
//  ViewController.swift
//  Street Grinders
//
//  Created by Jörg Quick on 20.11.18.
//  Copyright © 2018 FH Darmstadt. All rights reserved.
//

import UIKit
import WebKit

class ViewController: UIViewController, WKUIDelegate {

    @IBOutlet weak var WebView: WKWebView!
    override func viewDidLoad() {
        super.viewDidLoad()
        self.WebView.uiDelegate = self

        //Lade Webseite https://www.street-grinders.de
        let url = URL(string: "https://www.street-grinders.de")
        let request = URLRequest(url: url!)

        //Lade Webview
        WebView.load(request)

        //Gestensteuerung aktivieren
        WebView.allowsBackForwardNavigationGestures = true

        //Lade die Seite neu wenn Push Down
        let refreshControl = UIRefreshControl()
        refreshControl.addTarget(self, action: #selector(reloadWebView(_:)), for: .valueChanged)
        WebView.scrollView.addSubview(refreshControl)

    }

    //Öffnet Safari, wenn neuer Tab beansprucht wird!
    func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView? {
        if navigationAction.targetFrame == nil {
            UIApplication.shared.open(navigationAction.request.url!, options: [:])
        }
        return nil
    }

    //Gibt Speicherwarnung
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()

    }

    //Funktion zum Seite neu laden!
    @objc func reloadWebView(_ sender: UIRefreshControl) {
        WebView.reload()
        sender.endRefreshing()

    }

}

Если кто-то может опубликовать код вместо func webView, это было бы очень приятно.

...