最近发现 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
...
有老哥知道解决方案么?
1
godgc OP 要兼容到这么-的版本,真是有点头大。。
|
2
mxT52CRuqR6o5 2020-07-08 00:50:57 +08:00
[TypeError: undefined is not a function (evaluating '_WXJS.disableImageSelection()')]
这个看着像是微信 sdk 报的错 |
3
godgc OP @mxT52CRuqR6o5 对 怀疑也是兼容性的问题导致的,在 iOS9+以上版本都是正常的,就在 8 版本会抛出这 2 个错误
|
4
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 的兼容性要求更严,只能想办法跑编译后的项目去猜要改哪里能解决 |
5
godgc OP @mxT52CRuqR6o5
感谢老哥给的思路,我这边是调研到 iOS8 可能会存在一个浏览器内核的小问题 https://trackjs.com/blog/tracked-attempted-assign-readonly-property-ios-8-typeerror/ 尝试修复了一波之后在真机上跑 dev 从报错=》不报错 但依然跑不起来项目 就只有一个背景图出现,听老哥的去试试打包后的项目能不能打开看下 |