Vue 在ie下的兼容

https://blog.csdn.net/qq_36800701/article/details/80325273

https://www.jianshu.com/p/35c85b10cade

https://blog.csdn.net/landl_ww/article/details/79149461?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~baidu_landing_v2~default-1-79149461.nonecase&utm_term=vue2.0%E6%94%AF%E6%8C%81ie9&spm=1000.2123.3001.4430

说到底还是es6闹得,ie浏览器不支持es6

实际碰到的问题分两步才解决

1. 直接打开是空白页:让ie支持vue

解决方式:安装 "babel-polyfill" 即可。

命令:cnpm install --save-dev babel-polyfill    //我用的是淘宝镜像,所以是cnpm,如果你没有安装使用npm 即可。

在入口main.js文件引入:import 'babel-polyfill'

最后一步,在build文件夹下找到webpack.base.conf.js.

 
 

将第10行的内容替换一下即可。


使用vue-cli3创建的项目,在谷歌浏览器运行没有问题,但在火狐浏览器、ie浏览器和edge浏览器上运行都会报错(就测试了这几个浏览器,其它的没测),具体报错内容如下:

// 火狐浏览器 报错如下
"载入页面时与 ws://localhost:8080/sockjs-node/631/u0rsdsy0/websocket 的连接中断"
 
// ie浏览器 报以下错误
SCRIPT5022: SecurityError
sockjs.js (1683,3)
 
// edge浏览器 报以下错误
SCRIPT12017: SCRIPT12017: WebSocket Error: SECURITY_ERR, Cross zone connection not allowed

解决方法:

1. 找到/node_modules/sockjs-client/dist/sockjs.js 

2.找到代码的 1605行  

try {
    // self.xhr.send(payload); // 把这行注释掉
} catch (e) {
    self.emit('finish', 0, '');
    self._cleanup(false);
}

3.刷新,搞定

刚开始以为是兼容性问题,折腾了好久,发现不是,后来找到一篇大佬写的文章,才得以解决

 

注:如果忘记了 运行  cnpm install --save-dev babel-polyfill  ,依然会报错

 

vue cli3 兼容ie8以上浏览器

https://blog.csdn.net/weixin_45266125/article/details/103298026

posted @ 2020-05-15 20:38  ThisCall  阅读(1482)  评论(0编辑  收藏  举报