收藏
回答

[bug]部分手机没有实现文档列表中的ES6 api

问题模块
API和组件


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




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


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


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




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


最后一次编辑于  2017-11-13  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

9 个回答

  • 王克寒
    王克寒
    2017-11-13

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

    2017-11-13
    赞同
    回复
  • 漫无止境
    漫无止境
    2017-11-13

    勾选ES6转ES5也不行吗?

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


    2017-11-13
    赞同
    回复
  • 王克寒
    王克寒
    2017-11-13




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

    2017-11-13
    赞同
    回复
  • 王克寒
    王克寒
    2017-11-13

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

    2017-11-13
    赞同
    回复
  • 王克寒
    王克寒
    2017-11-14

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



    2017-11-14
    赞同
    回复
  • 黄思程
    黄思程
    2017-11-14

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

    2017-11-14
    赞同
    回复
  • 王克寒
    王克寒
    2017-11-14

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

    2017-11-14
    赞同
    回复
  • 李姓的菜
    李姓的菜
    2018-06-01

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

    2018-06-01
    赞同
    回复
  • 彭扬
    彭扬
    2018-11-23

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

    2018-11-23
    赞同
    回复