@zomik
Web разработчик

Как открыть ссылку на внешний сайт в приложении в браузер?

Есть такое приложение которые открывается определенный сайт example.com. И все вроде ок, открывает как надо, но если появляется ссылка на внешний сайт то клик на него не как не срабатывает
import UIKit
import WebKit

class ViewController: UIViewController {

    @IBOutlet weak var webView: WKWebView!
    

    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let hey =  "https://example.com"
        
        webView.load(URLRequest(url: URL(string: hey)!))
        // Do any additional setup after loading the view, typically from a nib.
    }


}
  • Вопрос задан
  • 403 просмотра
Решения вопроса 1
NSA-bot
@NSA-bot
Вам нужно добавить протокол, указать его делегата и добавить метод. Я комментариями отметил места, где добавил все это в ваш код.

import UIKit
import WebKit

class ViewController: UIViewController, WKUIDelegate {  // Здесь протокол WKUIDelegate
  
  @IBOutlet weak var webView: WKWebView!
  
  override func viewDidLoad() {
    super.viewDidLoad()
    
    self.webView?.uiDelegate = self // Делегат
    
    let hey = "https://example.com"
    
    webView.load(URLRequest(url: URL(string: hey)!))
  }
  
  // И этот метод
  func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView? {
    if navigationAction.targetFrame == nil {
      webView.load(navigationAction.request)
    }
    return nil
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы