WKWebView

来源:互联网 发布:粤贵银分析软件 编辑:程序博客网 时间:2024/05/16 08:46
////  ViewController.m//#import "ViewController.h"#import <WebKit/WebKit.h>// 头文件@interface ViewController ()<WKNavigationDelegate,WKUIDelegate>@end@implementation ViewController- (void)viewDidLoad {    /*     WKWebView优点:     1.WKWebView 更快(占用内存可能只有 UIWebView 的1/3~1/4)     2.iOS 7及更早版本是6.66%,基本可以忽略     3.在UIWebView中,我们可以直接在NSHTTPCookieStorage中设置cookie,打开网页时会自动附带上cookie,而WKWebView中则不会     */    [super viewDidLoad];    WKWebView  *webView = [[WKWebView alloc] initWithFrame:self.view.bounds];    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.baidu.com"]]];    webView.UIDelegate = self;    webView.navigationDelegate = self;    [self.view addSubview:webView];}#pragma mark  WKNavigationDelegate//在发送请求之前,决定是否跳转的代理//UIWebView 的 -webView: shouldStartLoadWithRequest: navigationType:-(void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler{    NSLog(@"是否跳转");    NSString *url = [navigationAction.request.URL.absoluteString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];    NSLog(@"===%@===",url);    decisionHandler(WKNavigationActionPolicyAllow);}//准备加载页面//UIWebViewDelegate - webView:shouldStartLoadWithRequest:navigationType-(void)webView:(WKWebView *)webView didStartProvisionalNavigation:(WKNavigation *)navigation{    NSLog(@"didStartProvisionalNavigation");}//已开始加载页面,可以在这一步向view中添加一个过渡动画//UIWebViewDelegate - webViewDidStartLoad:-(void)webView:(WKWebView *)webView didCommitNavigation:(WKNavigation *)navigation{    NSLog(@"didCommitNavigation");}//页面已全部加载,可以在这一步把过渡动画去掉//UIWebViewDelegate - webViewDidFinishLoad-(void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation{    NSLog(@"didFinishNavigation");}//加载页面失败//UIWebViewDelegate - webView:didFailLoadWithError:-(void)webView:(WKWebView *)webView didFailProvisionalNavigation:(WKNavigation *)navigation withError:(NSError *)error{    NSLog(@"didFailProvisionalNavigation");}//加载页面失败//UIWebViewDelegate - webView:didFailLoadWithError:-(void)webView:(WKWebView *)webView didFailNavigation:(WKNavigation *)navigation withError:(NSError *)error{    NSLog(@"didFailNavigation");}@end
原创粉丝点击