WKWebView 使用的坑】的更多相关文章

苹果从iOS8开始推出了WKWebView,大有替换UIWebView的意思(尽管Xcode中还没给UIWebView标记过期版本),所以决定将项目进行适配,iOS8及以上版本,改用WKWebView. 项目中的需求是这样的,视频播放完成后用Web显示广告,原代码用UIWebView呈现一点问题没有.适配WKWebView后同样代码在一些版本上会出问题.代码流程是这样的:WKWebView实例化并加载(视频播放完成前肯定已经加载完成了),视频播放完成后addSubview到屏幕上 1.iOS9.…
WKWebView 简介: WKWebView 是苹果在 WWDC 2014 上推出的新一代 webView 组件,用以替代 UIKit 中笨重难用.内存泄漏的 UIWebView.WKWebView 拥有60fps滚动刷新率.和 safari 相同的 JavaScript 引擎等优势. 之前在使用 WKWebView 进行网络请求时,遇到了 HTTPBody 为空的问题,原因如下: WKWebView 在独立于 app 进程之外的进程中执行网络请求,请求数据不经过主进程,因此,在 WKWebV…
问题产生背景: 新开发的页面中有一部分的界面是需要展示后端接口返回的HTML代码,包括文字和图片.所以就自然而然的要使用iOS原生的WebKit. 鉴于Xcode 8发布以后,编译器支持的最低版本(Deployment Target)也变为iOS8.因此放弃了UIWebView, 直接使用WKWebView(何况苹果宣称WKWebView的性能相比UIWebView有了极大的提升). 坑一:获取不到WKWebView的高度 获取方法:在WKWebView加载成功的代理方法里获取WKWebView…
WKWebView 是苹果在 WWDC 2014 上推出的新一代 webView 组件,用以替代 UIKit 中笨重难用.内存泄漏的 UIWebView.WKWebView 拥有60fps滚动刷新率.和 safari 相同的 JavaScript 引擎等优势. 简单的适配方法本文不再赘述,主要来说说适配 WKWebView 过程中填过的坑以及善待解决的技术难题. .WKWebView 白屏问题 .WKWebView Cookie 问题 .WKWebView NSURLProtocol问题 .WK…
1. ios9以前版本读取本地HTML的问题 当使用loadRequest来读取本地的HTML时,WKWebView是无法读取成功的,后台会出现如下的提示:Could not create a sandbox extension for /原因是WKWebView是不允许通过loadRequest的方法来加载本地根目录的HTML文件.而在iOS9的SDK中加入了以下方法来加载本地的HTML文件:[WKWebView loadFileURL:allowingReadAccessToURL:]但是在…
目录: 1.页面cookie缓存 2.允许弹出JS的弹框 3.在webview页面加载的时候,添加加载进度条 4.禁止掉webview页面的长按复制粘贴功能 5.设置webview的userAgent 正文: 1.1 cookie.localStorage.sessionStorage 相同点:都是浏览器端存储数据,且同源. 区别:cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器之间来回传递.而localStorage和sessionStorage不会…
HTML5页面的图片上传功能在iOS端的实现. 首先,页面上用的是plupload组件,在wkwebview上存在两个坑需要修复才能正常使用. 问题:在webview上点击选择照片/相机拍摄,就会出现whose view is not in the window hierarchy这个错误.其实stackoverflow上有这个错误的解释,但是我们并不能采取相应的方法去解决,因为咱们这个新弹出的UIPictureView并不是由我们决定在viewDidLoad还是viewWillAppear出现…
iOS8之后,苹果推出了WebKit这个框架,用来替换原有的UIWebView,新的控件优点多多,不一一叙述.由于一直在适配iOS7,就没有去替换,现在仍掉了iOS7,以为很简单的就替换过来了,然而在替换的过程中,却遇到了很多坑.还有一点就是原来写过一篇文章 Objective-C与JavaScript交互的那些事以为年代久远的UIWebView已经作古,可这篇文章现在依然有一定的阅读量.所以在决定在续一篇此文,以引导大家转向WKWebView,并指出自己踩过的坑,让大家少走弯路. 此篇文章的逻…
技术栈 lib-flexible 是淘宝的可伸缩方案 WKWebView 是ios8以上支持的网页控件 问题场景 最新公司一个项目使用 lib-flexible 来做移动端的伸缩解决方案,页面在safari上都是正常的, 在使用了 WKWebView 的客户端里却是错乱的 经过尝试,解决方法如下: <meta content="maximum-dpr=2" name="flexible" /> 替换为: <meta name="viewp…
iOS11对WKWebView的功能进一步完善,新增如下功能: Manager Cookies Fileter unwanted content Provide custom resources 下面是对各个特性的简单介绍,详细可参见源码. 1.Manager Cookies iOS11新增了一个类来专门管理Cookies,它就是:WKHTTPCookieStore.该类可以在WebKit里面看到.主要包含了了对Cookie的操作:删除.添加.获取等. 比如这种场景: 一个页面默认登录,当我没有…