Обрабатывать target = "_ blank" в веб-просмотре в swift - PullRequest
0 голосов
/ 27 октября 2018

Я реализую веб-просмотр для загрузки содержимого из URL-адреса в моем приложении с использованием веб-просмотра. Я хочу, чтобы URL с target = "_ blank" должен открываться в браузере или только в приложении.

Я использую

url = NSURL (string: "\(urlBase)\(response![0].Message ?? "")")!
            let requestObj = URLRequest(url: url as URL)
            webVFAI.loadRequest(requestObj)

это открывает URL в приложении, но я хочу, чтобы мой URL содержал target = "_ blank", он должен открыться в браузере Как справиться с этим? Пожалуйста, руководство

1 Ответ

0 голосов
/ 01 ноября 2018

Я только что нашел решение. Я только что проверил мой pageid, чтобы решить, открывать ли URL в браузере или в приложении Я использовал функцию shouldStartLoadWith

func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
    if(condition) {
    switch navigationType {
    case .linkClicked:
        guard let url = request.url else { return true }
        if #available(iOS 10.0, *) {
            UIApplication.shared.open(url, options: [:], completionHandler: nil)
        } else {
            UIApplication.shared.openURL(url)
        }
        return false // opens in browser
    default:
        return true // opens in app
    }
  }
    return true;
}
...