UIWebView и перехват URLRequest - PullRequest
       21

UIWebView и перехват URLRequest

0 голосов
/ 14 декабря 2018

Я пытаюсь понять проблему перехвата запросов в UIWebView, поэтому я могу начать изучать WKWebView.

Что я не понимаю, так это то, что в UIWebView есть свой собственный метод перехвата, который должен быть StartLoadWithRequest, но, похоже,как большинство людей все еще реализуют собственный NSURLProtocol для перехвата.Мне любопытно, почему большинство людей предпочитают не использовать метод UIWebView?Какие здесь различия?

1 Ответ

0 голосов
/ 14 декабря 2018

Если вы хотите просто загрузить или отклонить запрос, вы можете сделать это в WKWebView, став WKWebViewNavigationDelegate и реализовав webView(_:decidePolicyFor:decisionHandler:)

func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
    let request = navigationAction.request

    let policy: WKNavigationActionPolicy
    if request.path.contains("something_bad") {
        policy = .cancel
    } else {
        policy = .allow
    }
    decisionHandler(policy)
}
...