Если вы говорите о ссылках, открывающихся в новом окне, действительно, они не создают новое действие навигации. Но вы все равно можете перехватить их и загрузить запрос вручную.
Если у вашего веб-просмотра уже нет пользовательского uiDelegate
, назначьте его контроллеру представления или что-то еще, а затем сделайте что-то вроде этого:
extension SomeViewController: WKUIDelegate {
func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView? {
// Intercept target=_blank links
guard
navigationAction.targetFrame == nil,
let url = navigationAction.request.url else {
return nil
}
let request = URLRequest(url: url)
webView.load(request)
return nil
}
}