swift navigationAction.navigationType linkacactive не определяет относительные URL - PullRequest
0 голосов
/ 22 октября 2019

В 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?

...