临时测试到的iOS版本
低版本:iOS14.3及一下
高版本:iOS14.7及以上
我们这里用了
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler{
}
可以用来拦截H5界面点击事件的Url,结果线下环境是无论低版本还是高版本都是好的,但是线上环境iOS低版本拦截不到url。刚开始一头雾水,由于上线前一小时测试发现问题,且只有低版本手机用来测试,恰巧在我本地跑的时候用的高版本,是没有问题的,暂时定位是打包问题,结果打了两次包还是拦截不到。
第二天继续,用高低版本连续测试,并且后端同学配合灰度线上环境,才发现H5的事件根本没有走。打开Safari的开发模式,重新拦截发现问题!!css解析有错误,导致页面加载不出来,页面不出来,没有走到调用方法中!!把问题抛给H5。。。因为种种原因吧。。。耽误了很久,最后解决方案是,iOS适配一个没有用到该css的链接,安卓继续用原来的链接。。。
通过这次事件,让我感觉iOS还是有懂一些前端知识的必要的,知己知彼,才能用真理回怼对方!!
这里只能猜测,H5打包方式可能线下与线上不同,有严格模式处理导致一些css文件丢失,具体真正的原因只有他们自己知道了。