700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > ie input兼容 vue_IE浏览器兼容问题(基于vue)

ie input兼容 vue_IE浏览器兼容问题(基于vue)

时间:2022-07-20 21:50:34

相关推荐

ie input兼容 vue_IE浏览器兼容问题(基于vue)

1、IE浏览器打开网站后显示空白,并报错:Error in created hook: "ReferenceError: “Promise”未定义"

方法:安装相关依赖,将es6语法降至es5供ie浏览器识别

1、安装babel-polyfill依赖: yarn add babel-polyfill 或 npm install babel-polyfill --save

2、在main.js入口引入: import 'babel-polyfill'

3、build/webpack.base.conf.js下做以下改动

entry: {

app: ["babel-polyfill", "./src/main.js"]

},

vue3.0在安装依赖后直接在App.vue里import "babel-polyfill"即可

分析:就是ie内核的报错,首先定位浏览器兼容问题,然后看报错:Error in created hook: "ReferenceError: “Promise”未定义",

也就是说promise回调不支持,promise是es6的特性,也就是说ie内核版本对es6兼容不友好,需要降级才能解析。

至于babel-polyfill,参考官网 https://babeljs.io/docs/en/6.26.3/babel-polyfill

2、接口数据请求失败

1可能是因为IE不识别es6的promise,解决方法如上。

2也可能是因为简易接口请求格式IE浏览器不识别。换做标准的格式即可

简易格式:

getDemoList(){

this.$axios.get(`${common.base}/admin/getdemo?page=${this.page}&pagesize=${this.pagesize}`).then(res=>{

if(res.data.code==200){

if(res.data.data.list){

this.demoList=res.data.data.list

}

}

}).catch(err=>{})

}

标准格式: //若开发pc端项目,尽可能使用这种格式请求接口,更加标准,也可以兼容IE浏览器。若觉得麻烦可以封装起来(参考/huihuihero/p/10926228.html)

getDemoList(){

let config={

method:'GET',

params:{

page:this.page,

pagesize:this.pageSize,

},

}

this.$axios(`${common.base}/admin/getdemo`,config).then(res=>{

if(res.data.code==200){

if(res.data.data.list){

this.demoList=res.data.data.list

}

}

}).catch(err=>{})

},

3、IE浏览器不支持flex布局

4、element-ui框架对IE的兼容不太友好,建议使用Ant Design of Vue框架

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。