WKWebView概述
来源:互联网 发布:用java编写计算器程序 编辑:程序博客网 时间:2024/05/29 04:34
#pragma mark - WKUIDelegate
//WKWebVie截获JS的输入框,交由本地控件来实现,最后将输入结果通过block回调给网页
- (void)webView:(WKWebView *)webView runJavaScriptTextInputPanelWithPrompt:(NSString *)prompt
defaultText:(NSString *)defaultText initiatedByFrame:(WKFrameInfo *)frame
completionHandler:(void (^)(NSString *result))completionHandler
{
completionHandler(@"返回结果");
}
//WKWebVie截获JS的选择框,交由本地控件来实现,最后将选择结果通过block回调给网页
- (void)webView:(WKWebView *)webView runJavaScriptConfirmPanelWithMessage:(NSString *)message
initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)(BOOL result))completionHandler
{
completionHandler(YES);
}
//WKWebVie截获JS的确认框,交由本地控件来实现,最后将确认点击结果通过block回调给网页
- (void)webView:(WKWebView *)webView runJavaScriptAlertPanelWithMessage:(NSString *)message
initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)())completionHandler
{
completionHandler();
}
//网页要跳转到新的窗口来展示网页,WKWebView拦截,有我们来确定显示。
- (WKWebView *)webView:(WKWebView *)webView createWebViewWithConfiguration:(WKWebViewConfiguration *)configuration
forNavigationAction:(WKNavigationAction *)navigationAction windowFeatures:(WKWindowFeatures *)windowFeatures
{
return nil;
}
#pragma mark - WKNavigationDelegate
//这个代理方法表示当客户端收到服务器的响应头,根据response相关信息,可以决定这次跳转是否可以继续进行。
- (void)webView:(WKWebView *)webView
decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse
decisionHandler:(void (^)(WKNavigationResponsePolicy))decisionHandler
{
decisionHandler(WKNavigationResponsePolicyAllow);
}
//根据webView、navigationAction相关信息决定这次跳转是否可以继续进行,这些信息包含HTTP发送请求,如头部包含User-Agent,Accept
- (void)webView:(WKWebView *)webView
decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction
decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler
{
decisionHandler(WKNavigationActionPolicyAllow);
}
//一个Main Frame开始显示时调用
- (void)webView:(WKWebView *)webView didStartProvisionalNavigation:(WKNavigation *)navigation
{
}
//当Main Frame收到服务器的重定向请求是调用
- (void)webView:(WKWebView *)webView
didReceiveServerRedirectForProvisionalNavigation:(WKNavigation *)navigation
{
}
//当Main Frame开始加载数据,发生错误时调用
- (void)webView:(WKWebView *)webView
didFailProvisionalNavigation:(WKNavigation *)navigation
withError:(NSError *)error
{
}
//当Main Frame的内容开始到达时调用
- (void)webView:(WKWebView *)webView didCommitNavigation:(WKNavigation *)navigation{
}
//当完成一个Main Frame加载时调用
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation{
}
//当一个完成加载的MainFrame发生错误时调用
- (void)webView:(WKWebView *)webView didFailNavigation:(WKNavigation *)navigation withError:(NSError *)error
{
}
//处理证书相关的东西
- (void)webView:(WKWebView *)webView didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential *credential))completionHandler
{
}
- WKWebView概述
- WKWebView
- WKWebView
- WKWebView
- WKWebView
- WKWebView
- WKWebView
- WKWebView
- WKWebView
- WKWebView
- WKWebView
- WKWebView使用说明
- IOS WKWebView
- 【iOS】WKWebView
- WKWebView使用说明
- WkWebView进度条
- WKWebView 实例
- WKWebView使用
- NSRunloop小总结
- H5离线缓存
- NSURLProtocol概述
- android Handler 机制
- 使用NSURLProtocol实现离线缓存
- WKWebView概述
- CoreData 自定义数据类型
- XMLDictionary iOS的XML处理包
- Eclipse安装WindowBuilder
- Nov 4th 开始进入正轨了
- CoreData并发操作模式简介
- Pods简介
- MagicRecord For IOS 简介
- Mantle For iOS