1.导航代理 WKNavigationDelegate 跟踪主框架导航进度和决定的方法
/**
- 在发送请求之前,决定是否跳转 (拦截url 从而达到js与oc交互的代码方法 就是这个)
- @param webView 实现该代理的 webView
- @param navigationAction 当前navigationAction 有关触发导航请求的操作的描述性信息。
- @param decisionHandler 是否调转block
*/
- (void)webView:(WKWebView*)webView decidePolicyForNavigationAction:(WKNavigationAction*)navigationAction decisionHandler:(void(^)(WKNavigationActionPolicy))decisionHandler;
2.在收到响应后,决定是否跳转
/**
- @param webView 实现该代理的webview
- @param navigationResponse当前navigationAction 有关触发导航请求的操作的描述性信息。
- @param decisionHandler 是否跳转block
*/
- (void)webView:(WKWebView*)webView decidePolicyForNavigationResponse:(WKNavigationResponse*)navigationResponse decisionHandler:(void(^)(WKNavigationResponsePolicy))decisionHandler;
3.页面开始加载时调用
/*
- @param webView 实现该代理的webview
- @param navigation有关触发导航请求的操作的描述性信息。
*/
- (void)webView:(WKWebView*)webView didStartProvisionalNavigation:(null_unspecifiedWKNavigation*)navigation;