iview-admin icon indicating copy to clipboard operation
iview-admin copied to clipboard

兼容IE11-IE9(IE9还有问题)的方法分享

Open zzkzzk1984 opened this issue 7 years ago • 5 comments

研究了几天,把1.3.1版本兼容IE11-IE9(IE9还有问题)的方法都记录下来了,IE11-IE10应该都没问题,IE9不知道下一步怎么解决了,大家有需要的一起想想办法吧 //1、webpack-dev-server降版本 npm uninsatll webpack-dev-server npm install [email protected] -save-dev

//2、安装babel-polyfill npm install babel-polyfill --save 修改webpack.base.config.js entry: { main: ["babel-polyfill","./src/main"],//babel-polyfill可以模拟ES6使用的环境,可以使用ES6的所有新方法

//3、 修改main.js,注释掉国际化 //import '@/locale'; //import VueI18n from 'vue-i18n'; //Vue.use(VueI18n);

//4、修改main.js,在空白处加(兼容IE9 transfer-dom.js中 使用了 dataset 的问题) if (window.HTMLElement) { if (Object.getOwnPropertyNames(HTMLElement.prototype).indexOf('dataset') === -1) { Object.defineProperty(HTMLElement.prototype, 'dataset', { get: function () { var attributes = this.attributes; //获取节点的所有属性 var name = [], value = []; //定义两个数组保存属性名和属性值 var obj = {}; //定义一个空对象 for (var i = 0; i < attributes.length; i++) { //遍历节点的所有属性 if (attributes[i].nodeName.slice(0, 5) == 'data-') { //如果属性名的前面5个字符符合"data-" // 取出属性名的"data-"的后面的字符串放入name数组中 name.push(attributes[i].nodeName.slice(5)); //取出对应的属性值放入value数组中 value.push(attributes[i].nodeValue); } } for (var j = 0; j < name.length; j++) { //遍历name和value数组 obj[name[j]] = value[j]; //将属性名和属性值保存到obj中 } return obj; //返回对象 } }); } }

//5、修改iview.js,可解决now未定义的问题 var now = root.performance.now === 'function' ? root.performance.now() : ((+new Date()) - performance.timing.navigationStart); //var now = root.performance.now();

zzkzzk1984 avatar Jan 29 '18 11:01 zzkzzk1984

ie9下能打开首页,但是报错 unhandled promise rejection error 拒绝访问 还有一些其他的菜单点开白屏

zzkzzk1984 avatar Jan 29 '18 11:01 zzkzzk1984

按照这个方法是可以跑出来的,但是页面效果全毁了 image

EdgeAsh avatar Mar 22 '18 02:03 EdgeAsh

IE10以上都能还原效果

zzkzzk1984 avatar Mar 22 '18 02:03 zzkzzk1984

ie9不支持flex

jiaoguanwen avatar May 18 '18 05:05 jiaoguanwen

ie9 unhandled promise rejection error 拒绝访问这个怎么解决

feelSleepy avatar Dec 09 '19 11:12 feelSleepy