[bug]部分手机没有实现文档列表中的ES6 api
发布于 5 年前 作者 zhengxiulan 15366 次浏览 来自 问答

我们的小程序有部分安卓用户反馈无法打开,典型的有美图手机,我们自己使用美图手机测试发现一个问题:

报了一个Page not found的问题,一开始我一直在找Page相关的问题(我们自己写的响应式框架对Page做了改造),后来在调试后发现压根就没有走到Page这一步,连App()都没有调用,也就是说在app.js中报错了,所以第一点,这个错误提示很不友好

然后我们在找app.js中的错误的时候,发现最终卡在的数组的includes方法上,于是就有上图的第一条打印日志,typeof array.includes: undefined


但你们的api中明确标明了android中使用x5内核,并且在ES6支持情况中表明支持includes方法:


但以现在的情况来看,就是有部分手机不支持列表中的情况,那么是不是就有部分手机小程序不是使用的x5内核?那如何来确保兼容性?在babel的配置中应该怎么来写target来确认所有小程序都可以使用?

9 回复

我把array.includes 的polyfill加进去就好了,你们就说还要加哪些polyfill吧

vivo x7 plus 有发现了这个问题。android 系统是5.1,微信也是最新版本。但还是出现includes不能使用的问题。部分机型就算引入pollyfill,也不能完全兼容。排查了很久,联调的时候不会出现,只有打包以后的体验版的第一次打开才会复现。花了很长时间才找到原因

我们自己开发当然可以,但客户都是小白用户,我们后台设置了最低的sdk,进小程序的时候提示升级微信,然后检查新版本又是这个提示,就都来投诉了

我也纳闷,明明勾选了es6转es5,有的客户端还是报 arr.includes 是undefined,微信的这个错误还是没有解决

勾选ES6转ES5也不行吗?

在小程序后台管理页面可以设置小程序的最低基础库,这样用户尝试打开小程序时微信会提示升级。

请到官网weixin.qq.com下载安装

@黄思程 6.5.13版本微信,点检测更新的时候,提示已是最新版本,还是美图手机

@漫无止境 我们自己写的构建过程自己转的es5,再把工具中的编译打开会有问题,而且这个不是ES6语法问题

补充下:微信的版本是6.5.13,不是最新的版本,但也不算很老,即使是因为版本问题,我们也不应该强使用户升级微信,这样体验会很不好,再退一步,我们提示用户升级, 但现在人家小程序都进不去,也没有地方给出这个提示

回到顶部