iOS开发 最新的NSURLProtocol之webView的离线缓存,缓存webView,离线加载

一:前言:项目中整个一tab页因为需求变成了加载webView,没网情况下会一片白。。很多APP无网显示的是一张图片,笔者强迫症,坚决做到最好的用户体验,于是缓存了整个webview;
1. 想通过加载HTMLSting字符串缓存webView是不可行, [self.webView loadHTMLString:HTMLSting baseURL:nil];想走这条路的哥们这里说下,肯定是不行的。。简单说下原因:正常的一个h5网页,包含.css样式,.JS等事件,这些都是外部引用的。。所以你缓存不下来。。。但是如果样式啥的都是内联(类似iOS MVC都在控制器里),那么用这个方法是可行的。。。
2.WKWebView能用这个缓存吗?  当然不可以,它不走NSURLProtocol机制,所以不会对URL进行拦截。
3.通过NSURLProtocol是最快捷的方法,下面开始介绍。


插曲:如果你不喜欢看啰嗦的文字,直接上github地址了,https://github.com/horisea/NSURLProtocol-webView,欢迎star,有网情况下运行一次,断网再运行,网页依旧出现,OK


二:NSURLProtoco

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值