使用chrome内核低于37的即可复现
![u***@gmail.com](https://img-cdn-tc.dcloud.net.cn/account/identicon/5d7100a72421bae5d0244aa357c47a35.png)
- 发布:2020-10-26 16:46
- 更新:2020-11-02 15:29
- 阅读:762
产品分类: uniapp/H5
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: ubunutu20
浏览器平台: 手机系统浏览器
浏览器版本: 37
项目创建方式: CLI
CLI版本号: 4.5.6
操作步骤:
预期结果:
能支持低版本的浏览器
能支持低版本的浏览器
实际结果:
无法支持低版本浏览器
无法支持低版本浏览器
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(':'))来兼容低版本的手机浏览器
2 个回复
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