Хороший способ сделать это - сравнить URL Host
, что можно сделать, используя следующий подход
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
let exceptedHosts: [String] = [
"facebook.com",
"m.facebook.com"
]
if let host = navigationAction.request.url?.host {
if exceptedHosts.contains(host) {
decisionHandler(.cancel)
return
}
}
decisionHandler(.allow)
}
Это предотвратит открытие любого URL с facebook.com
или m.facebook.com
, добавьте любой хосты к массиву, чтобы исключить их от открытия.
Пожалуйста, не забудьте установить делегата в viewDidLoad
webview.navigationDelegate = self