![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
WebView
文章平均质量分 69
请叫我马老师
iOS开发两年经验,希望不远的将来成为老司机
展开
-
(转)性能提升30%以上 JDHybrid h5加载优化实践
Hybrid技术的一种实现转载 2022-07-13 21:37:14 · 1006 阅读 · 0 评论 -
WWDC2019 ------iOS13适配(持续更新)
第一、Web Content适配https://developer.apple.com/videos/play/wwdc2019/511/https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme问题展示先看两张图:如上图所示,如果h5未适配dark模式,则在dark模式下原来的页...原创 2019-06-15 23:08:26 · 9274 阅读 · 1 评论 -
可怕的KCFErrordomainCFNetWork 303
任何恐惧都来源于不了解。最近发现了一个问题,有用户反馈,整个APP里面所有的h5页面全部打不开,这个结果无疑是恐怖的,因为我们的APP,从产品详情到收银台,从促销页面到会员服务都是h5,全站打不开的结果当然是恐怖的。通过查看用户日志,发现webview报了一个很固定的错误:NSCocoaErrorDomain-Error Domain=kCFErrorDomainCFNetwork...原创 2019-05-31 23:33:55 · 15915 阅读 · 1 评论 -
深入理解WKWebView白屏
白屏是webview进程终止之后的表现,在webview因异常使用内存、CPU等资源时,webkit会终止当前m页展示的进程,在用户端表现为白页。第一、webview的进程被终止的原因有哪些?ProcessTerminationReason { ExceededMemoryLimit,//超出内存限制 ExceededCPULimit,//超出CPU限制 R...原创 2019-05-16 18:55:03 · 7323 阅读 · 2 评论 -
WebKit 20问
webkit是时下最流行的浏览器内核,作为Safari和iOS的wkwebview的内核,分析其源码,可以很好的了解浏览器的机制,并为h5的开发提供一些建设性的建议。本系列文章将深入分析webkit的一些常见的机制,以期抛砖引玉。第一、WKWebView白屏为何物?...原创 2019-05-16 18:54:06 · 260 阅读 · 0 评论 -
如何实现webview内页面放大和缩小(捏合手势)
前面曾看到一篇文章在讨论京东的图文详情页内如何实现捏合放大和缩小功能,作者在原生层面通过各种注入实现了这一功能。其实这是画蛇添足的做法,这一功能的实现完全没有必要在原生层面进行,只需要h5略作设置即可,具体如下:h5在head中设置viewport时添加user-scalable=0,即可禁止这一功能;反之,如果没有这个设置,webview默认就有捏合的能力。这是禁止捏合的栗子:&l...原创 2019-01-14 15:32:31 · 6565 阅读 · 0 评论 -
WKWebView 如何支持window.open方法
window.open是js新开页面的一种方法,本质上是为了在PC上支持直接新开页面,但是移动端也是支持该方法的,只是处理方式上并没有让它扮演新开窗口的任务,通过window.open打开的页面链接其实还是在当前webview内进行加载。iOS平台UIWebView默认支持了这一js命令,但是WKWebView默认是不支持的。第一、UIWebView下window.open的表现如前所述,...原创 2018-12-01 19:09:49 · 6226 阅读 · 0 评论 -
WKWebview 的SSL异常
webview的SSL异常是webview加载失败的重要原因之一,因此有必要对此进行较为全面的监控。我们的业务中关于webview的SSL异常监控起初是这样做的:监控的位置:时机一:数据加载过程中出错- (void)webView:(WKWebView *)webView didFailProvisionalNavigation:(null_unspecified WKNavigat...原创 2018-10-27 20:05:06 · 3081 阅读 · 0 评论 -
iOS12 bug总结(持续更新)
iOS12fix掉的问题:第一、iOS11.3 WKWebView的多选图片功能出现了bug。我们apple的架构设计如下:rootViewController为UITabBarController,然后add了五个NavigationController,这里的bug主要的表现是:当用户在wkwebview中唤起相册后选取多张相片,相册的右上角一直都是取消按钮,没有完成按钮,导致无法选取...原创 2018-09-19 21:53:29 · 10250 阅读 · 0 评论 -
WKWebView iOS10页面截断暨iOS8、9不渲染
最近有业务使用WKWebView时碰到了两个小问题:使用场景为:WebView load web,然后根据web的高度来调整WebView的高度。碰到的问题:1、iOS10上web加载出了页面被截断,即只有部分网页内容展示出来,其他的部分没有办法展示。经查询是iOS10上引入了bug(iOS9 和 iOS11是没有问题的)https://stackoverflow.com/questions/39...原创 2018-04-17 23:32:23 · 1576 阅读 · 0 评论 -
WKWebView js通信的内存泄露问题
苹果在WKWebView上做的最赞的事儿就是显式的支持了js通信。用法很简单:一个协议:WKScriptMessageHandler 一个类:WKUserContentController创建一个实例A,该实例遵循WKScriptMessageHandler协议,并将实例A与WKWebView绑定(有一个共同的对象持有他们俩即可),这样,实例A便可以获得与WKWebView对应的WKUse...原创 2018-04-02 23:27:36 · 889 阅读 · 0 评论 -
iOS11.3 WKWebView清除cookie所踩的坑!
我们在iOS11.3上踩了一个大坑!这个坑表现在线上的版本只要用户升级到iOS11.3且退出登录,或者登录态过期,都会闪退。因为iOS11.3支持了两个超级一线城市的公交卡,引发了用户短时间集中更新。为了解决这个问题,整个团队发一个小版本来降级这个问题的影响。问题的表现:前面说过,只要退出登录,App就会闪退。这是因为我们在退出登录时清除WKWebView的cookie时引发了崩溃。问题的原因:苹...原创 2018-04-02 00:22:22 · 13283 阅读 · 8 评论