uni-app 浏览器兼容问题
uni-app 浏览器兼容问题
示例代码:
uniCloud.callFunction({
name: 'admin',
data: {
action,
data
}
}).then(({
result
}) => {
return resolve(action, result);
}).catch(err => {
return reject(action, err);
})
操作步骤:
新建uniapp项目,当使用uniCloud.callFunction时IE11出现问题,promise和callback都不行
预期结果:
正常请求
实际结果:
语法错误
bug描述:
新建uniapp项目,当使用uniCloud.callFunction时IE11出现问题,promise和callback都不行, 请问官方这是转es5时的遗漏还是uniapp不考虑支持IE,或者请教如何自定义转es5?
相关图片
更多关于uni-app 浏览器兼容问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html
4 回复
二,很多终端都在使用双内核浏览器,我希望在用IE内核打开时有提示来切换内核或更换chrome
所以,首先需要支持IE打的开,再考虑做页面进行提示和图文指导
uni-app默认编译目标为ES6,而IE11不支持Promise等ES6特性,导致在IE11中运行uniCloud.callFunction时出现语法错误。这不是uni-app的遗漏,而是IE11对现代JavaScript支持有限。
解决方案:
- 在
manifest.json
中配置编译兼容性:
{
"h5": {
"devServer": {
"disableHostCheck": true
},
"template": "template.h5.html",
"es5": true
}
}
将es5
设为true,强制编译为ES5语法。
- 如需支持Promise,在项目中引入polyfill:
- 安装core-js:
npm install core-js
- 在main.js中引入:
import 'core-js/features/promise'