自从WKWebView更新之后,众多开发者都已经将从WebView转换成了WKWebView,主要原因是WKWebView的特性:
1:在性能、稳定性、功能方面有很大提升(最直观的体现就是加载网页是占用的内存,模拟器加载百度与开源中国网站时,WKWebView占用23M,而UIWebView占用85M);
2:允许JavaScript的Nitro库加载并使用(UIWebView中限制);
3:支持了更多的HTML5特性;
4:高达60fps的滚动刷新率以及内置手势;
5:将UIWebViewDelegate与UIWebView重构成了14类与3个协议(查看苹果官方文档);
但是在读取沙盒文件时,却遇到了一个棘手的问题,无论怎样拼接路径,都无法显示本地html文件,但是在WebView和浏览器时就是正常的,不过经过多方查询,才发现问题所在,需要进行如下创建WKWebView:
WKWebViewConfiguration * configuration = [[WKWebViewConfiguration alloc] init];
[configuration.preferences setValue:@"TRUE" forKey:@"allowFileAccessFromFileURLs"];
WKWebView * web = [[WKWebView alloc] initWithFrame:self.view.frame configuration:configuration];
参照:
http://bbs.csdn.net/wap/topics/391889971
http://stackoverflow.com/questions/24882834/wkwebview-not-loading-local-files-under-ios-8#new-answer
网友评论