babel 可以兼容到 iOS8 么

2020-07-08 00:15:17 +08:00
 godgc

最近发现 iOS8 跑 vue 项目的时候出现兼容性错误

TypeError: undefined is not a function (evaluating 'splitter.call(separator, 0, limit)')

TypeError: undefined is not a function (evaluating '_WXJS.disableImageSelection()')

定位问题是 vue 中 js 代码应该存在兼容性问题,在 iOS8+以上版本都很正常

babel:"browsers": ["> 1%", "last 2 versions","safari >= 7", "not ie <= 8"]

运行 npx browserslist 列表只能看到

...
opera 60
opera 58
safari 13.1
safari 13
safari 12.1
safari 12
safari 11.1
safari 11
safari 10.1
safari 10
safari 9.1
safari 9
samsung 12.0
samsung 11.1-11.2
samsung 10.1
samsung 9.2
samsung 8.2
samsung 7.2-7.4
samsung 6.2-6.4
samsung 5.0-5
...

有老哥知道解决方案么?

979 次点击
所在节点    问与答
5 条回复
godgc
2020-07-08 00:25:19 +08:00
要兼容到这么-的版本,真是有点头大。。
mxT52CRuqR6o5
2020-07-08 00:50:57 +08:00
[TypeError: undefined is not a function (evaluating '_WXJS.disableImageSelection()')]
这个看着像是微信 sdk 报的错
godgc
2020-07-08 10:28:07 +08:00
@mxT52CRuqR6o5 对 怀疑也是兼容性的问题导致的,在 iOS9+以上版本都是正常的,就在 8 版本会抛出这 2 个错误
mxT52CRuqR6o5
2020-07-08 14:43:58 +08:00
@godgc
https://cn.vuejs.org/v2/guide/installation.html#%E5%85%BC%E5%AE%B9%E6%80%A7
官方文档说是 [支持所有兼容 ECMAScript 5 的浏览器]
https://caniuse.com/#feat=es5
根据 caniuse 上的数据应该是兼容的
https://browserl.ist/?q=ios%3E6
数据显示 ios8 占比为 0,至少应该算是小于万分之一,不修是最简单的解决方案
还有你是在 ios8 上跑 dev 的项目吗,那大概率是跑不起来的,dev 的兼容性要求更严,只能想办法跑编译后的项目去猜要改哪里能解决
godgc
2020-07-09 11:10:48 +08:00
@mxT52CRuqR6o5
感谢老哥给的思路,我这边是调研到 iOS8 可能会存在一个浏览器内核的小问题
https://trackjs.com/blog/tracked-attempted-assign-readonly-property-ios-8-typeerror/

尝试修复了一波之后在真机上跑 dev 从报错=》不报错 但依然跑不起来项目 就只有一个背景图出现,听老哥的去试试打包后的项目能不能打开看下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/688072

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX