兼容性问题汇总

首先放上一张vue兼容性的图

 

vue项目于IE浏览器的兼容性问题(针对promise问题)

一,VUE项目一般会使用axios,而axios又是基于promise的,所以,IE任何版本都不支持(trident内核的全不行)

解决方案一:

/*ie兼容 Promise*/
 isIE();
 function isIE() { //ie?
     if ( !! window.ActiveXObject || "ActiveXObject" in window) {
         var script = document.createElement("script");
         script.type = "text/javascript";
         script.src = "/js/unity/bluebird.js";
         document.getElementsByTagName('head')[0].appendChild(script);
     }
 }
 /*ie兼容 Promise end*/

解决方案二 (babel):

引入babel-polyfill,babel-polyfill相当于一个ES6的兼容垫片,会让浏览器读懂
1、终端输入命令:npm install --save babel-polyfill
2、在main.js文件的顶部引入 import "babel-polyfill"
3、在build目录下webpack.config.js文件设置入口改为如下
(如果你的项目用的是脚手架,在在build目录下webpack.base.config.js文件更改入口)

model.exports={
entry:{
  app;["babel-polyfill",'./src/app.js']
      }
}

方案三:VueJS在IE中提示promise未定义的问题

//安装promise
$ npm install es6-promise --save-dev
2. 引用并调用
在main.js文件:

import promise from 'es6-promise'
promise.polyfill()

 

https://blog.csdn.net/weixin_45276056/article/details/118969359

posted @ 2022-04-28 15:38  如意酱  阅读(63)  评论(0编辑  收藏  举报