Vue 在ie下的兼容

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

說到底仍是es6鬧得,ie瀏覽器不支持es6node

實際碰到的問題分兩步才解決webpack

1. 直接打開是空白頁:讓ie支持vuees6

解決方式:安裝 "babel-polyfill" 便可。web

命令:cnpm install --save-dev babel-polyfill    //我用的是淘寶鏡像,因此是cnpm,若是你沒有安裝使用npm 便可。vue-cli

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

最後一步,在build文件夾下找到webpack.base.conf.js.瀏覽器

 
 

將第10行的內容替換一下便可。babel


使用vue-cli3建立的項目,在谷歌瀏覽器運行沒有問題,但在火狐瀏覽器、ie瀏覽器和edge瀏覽器上運行都會報錯(就測試了這幾個瀏覽器,其它的沒測),具體報錯內容以下:



websocket

// 火狐瀏覽器 報錯以下
"載入頁面時與 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.刷新,搞定

剛開始覺得是兼容性問題,折騰了很久,發現不是,後來找到一篇大佬寫的文章,才得以解決

相關文章
相關標籤/搜索