Переход по ссылке в WKWebView

uiwebview

#1

Здравствуйте!

  1. Подскажите, как отловить нажатие на ссылку в WKWebView и сделать чтобы она открылась не в нем же, а в safari?
  2. Также как можно отловить нажатие на картинку и открыть ее уже в просмотрщике в приложении?

Спасибо!


#2
class ViewController: UIViewController, WKNavigationDelegate {
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let webView = WKWebView(frame: view.frame)
        webView.navigationDelegate = self
        
        view.addSubview(webView)
        webView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
        
    }
    
    func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
        if case .linkActivated = navigationAction.navigationType {
            if let url = navigationAction.request.url {
                UIApplication.shared.open(url)
            }
            decisionHandler(.cancel)
        } else {
            decisionHandler(.allow)
        }
    }
}

Можно как здесь описано:

Только в postMessage нужно передать ссылку на картинку.


#3

Спасибо большое! Попробую!