В WKWebView я заметил, что при нажатии на абсолютные URL-адреса navigationType
равен .linkActivated
, однако при нажатии на относительный URL-адрес navigationType
равен .other
.
Мое приложение должно отображать новый вид при каждом нажатии новой ссылки, поэтому у меня была логика с этим справиться в webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy)
.
Он отлично работает для абсолютных URL, поскольку я могу проверить .linkActivated
, но он не работает для относительных URL, поскольку я не уверен, как отличить переход по относительному URL от других запросов
Вот пример кода
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
if self.delegate?.getCurrentViewState() != ViewState.Feed {
if navigationAction.navigationType == .linkActivated {
// apply logic to navigate to a new view
}
else if navigationAction.navigationType == .other {
// somehow understand that this request is coming from relative url and apply same logic as above
}
}
decisionHandler(.allow)
}
Кто-нибудь из вас знает, есть ли способ определить, поступает ли запрос, с которым я имею дело, с относительной ссылки URL?