u***@gmail.com
u***@gmail.com
  • 发布:2020-10-26 16:46
  • 更新:2020-11-02 15:29
  • 阅读:762

【报Bug】低版本下apply不支持undefined的写法

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: ubunutu20

浏览器平台: 手机系统浏览器

浏览器版本: 37

项目创建方式: CLI

CLI版本号: 4.5.6

操作步骤:

使用chrome内核低于37的即可复现

预期结果:

能支持低版本的浏览器

实际结果:

无法支持低版本浏览器

bug描述:

在低版本的chrome浏览器(android 5 webview chrome37的内核),由于h5中can-i-use.js中的apply语法为CSS.supports.apply(undefined, css.split(':'))导致了Illegal Invocation的异常。希望能修改为CSS.supports.apply(CSS, css.split(':'))来兼容低版本的手机浏览器

2020-10-26 16:46 负责人:无 分享
已邀请:
7***@qq.com

7***@qq.com

顶一个,我也遇到这个问题了。低版本浏览器报错,白屏。

7***@qq.com

7***@qq.com

请问楼主解决了吗

  • u***@gmail.com (作者)

    临时解决方案如我上面说的,你搜索CSS.supports.apply,一处是原始代码can-i-use.js,一处是index.umd.min.js这个打包的js,你修改index.umd.min.js中的CSS.supports.apply(void 0,t.split(":")))为CSS.supports.apply(CSS,t.split(":")))即可。先确认你的报错是不是Illegal Invocation这个错误

    2020-11-02 15:29

  • 7***@qq.com

    回复 u***@gmail.com: 谢谢。可是这样不是最终解决办法。不知道有啥办法可以从跟本身上修复,不然每次部署都要手动改一下。。

    2020-11-02 17:01

  • 7***@qq.com

    官方也不重视这个问题

    2020-11-02 17:02

  • 7***@qq.com

    回复 u***@gmail.com: 我已经暂时通过修改package.json中:@dcloudio/uni-h5 版本降级解决。版本暂时设置成2.0.0-28620200814001 就可以避免 CSS.supports.apply(void 0, args)的bug

    2020-11-02 22:09

该问题目前已经被锁定, 无法添加新回复