您的位置:首页 > 其它

WKNavigationDelegate调用的顺序

2016-04-08 16:12 483 查看
1.The WebKit framework is not thread-safe. If you call functions or methods in this framework, you must do so exclusively on the main program thread

2.WKNavigationDelegate调用的顺序

- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler{

// 在发送请求之前,决定是否跳转

decisionHandler(WKNavigationActionPolicyAllow);

}

- (void)webView:(WKWebView *)webView didStartProvisionalNavigation:(null_unspecified WKNavigation *)navigation{

//
页面开始加载时调用

}

- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler{

// 在发送请求之前,决定是否跳转

decisionHandler(WKNavigationActionPolicyAllow);

}

- (void)webView:(WKWebView *)webView didReceiveServerRedirectForProvisionalNavigation:(null_unspecified WKNavigation *)navigation{

//
接收到服务器跳转请求之后调用

}

- (void)webView:(WKWebView *)webView didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential *__nullable credential))completionHandler{

completionHandler(NSURLSessionAuthChallengePerformDefaultHandling ,nil);

}

//以下三个是连续调用

- (void)webView:(WKWebView *)webView decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse decisionHandler:(void (^)(WKNavigationResponsePolicy))decisionHandler{

//
在收到响应后,决定是否跳转和发送请求之前那个允许配套使用

decisionHandler(WKNavigationResponsePolicyAllow);

}

- (void)webView:(WKWebView *)webView didCommitNavigation:(null_unspecified WKNavigation *)navigation{

//
当内容开始返回时调用

}

- (void)webView:(WKWebView *)webView didFinishNavigation:(null_unspecified WKNavigation *)navigation{

//
页面加载完成之后调用

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: