源码地址:https://github.com/littleFeng/javaScriptNative.git
最近工作不忙 抽时间看了下iOS8 的 WKWebView ,WKWebView基于WebKit,OSX和iOS开发共用库。
优点:WebKit 使用Nitro JavaScript引擎,webview可以和Safari加载一样快。加载网页占用的内存大大优化。高达60fps的滚动刷新频率及内置手势。开放了更多API给开发者(14个类、3个协议);
使用:首先引入库
#import <WebKit/WebKit.h>
初始化:WKWebViewConfiguration class wkwebview的基本配置类
WKWebViewConfiguration * configuration = [[WKWebViewConfiguration alloc]init]; 先实例化配置类 以前UIWebView的属性有的放到了这里
_wkwebView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0.0f, screen_width, screen_height) configuration:configuration];
新的属性:
_wkwebView.allowsBackForwardNavigationGestures =YES;//打开网页间的 滑动返回
_wkwebView.allowsLinkPreview = YES;//允许预览链接
backForwardList 中包含backList(访问过未返回的地址) forwardList(访问过已返回的地址)currentItem(当前访问的地址)
wkwebview提供了KVO属性 可以用来获取加载进度(estimatedProgress) URL(URL)、TITLE(title)是否变化、是否可以前进或后退
[_wkwebView addObserver:self forKeyPath:@"estimatedProgress" options:NSKeyValueObservingOptionNew context:nil];//注册observer 拿到加载进度
wkwebview除了后退:goBack 前进: goForward 方法外 还提供了reload方法 刷新当前页面 以及stopLoading 停止刷新