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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM