vue兼容IE問題

問題1. babel-polyfill

問題背景

IE11 不支持promise

解決方法

需要將promise轉換為瀏覽器可識別的ES5語法

// 1.安裝babel-polyfill
npm install --save-dev babel-polyfill
// 2.在main.js中引入babel-polyfill
import 'babel-polyfill' 
// 3.或者修改build/webpack.base.conf.js文件
//將
entry: {
  app: './src/main.js'
},
//替換為
entry: {
 app: ['babel-polyfill', './src/main.js']
},

問題2. js-base64

問題背景

在引入js-base64進行base64加密時,IE瀏覽器會報錯js-base64有語法問題

解決方法

  • 卸載當前版本的js-base64,安裝@2.*版本的
npm uninstall js-base64
npm install js-base64@2.6.2 --save
npm uninstall js-base64
  • 使用 window.btoa() 加密,window.atob()解密(兼容IE10以上和其他瀏覽器)
var str = "RUNOOB";
var enc = window.btoa(str);
var dec = window.atob(enc);
var res = "編碼字符串為: " + enc + "<br>" + "解碼后字符串為: " + dec;

問題3. webpack-dev-server版本問題

問題背景

"webpack-dev-server": "^2.11.5",版本IE10以下無法打開,提示報錯 :SCRIPT1002: 語法錯誤


image.png

查看console發(fā)現webpack打包后的腳本報錯:

/* WEBPACK VAR INJECTION */(function(__resourceQuery) {
/* global __resourceQuery WorkerGlobalScope self */
/* eslint prefer-destructuring: off */
const url = __webpack_require__(61);
const stripAnsi = __webpack_require__(67);
const log = __webpack_require__(69).getLogger('webpack-dev-server');
const socket = __webpack_require__(70);
const overlay = __webpack_require__(102);

顯然,IE10并不支持ES6的const語法,所以當版本升級到2.8.1之后,是無法在IE10下面進行使用和開發(fā)的。
來看看2.7.1版本打包之后,這一塊的腳本是怎樣的

/* WEBPACK VAR INJECTION */(function(__resourceQuery) {/* global __resourceQuery WorkerGlobalScope */
var url = __webpack_require__(61);
var stripAnsi = __webpack_require__(67);
var log = __webpack_require__(69)
var socket = __webpack_require__(70);
var overlay = __webpack_require__(102);

解決方法

  • 2.7.1打包之后還是使用的var去聲明變量。所以想要在IE10上使用webpack-dev-server的相關功能,還是將版本先固定在2.7.1。

問題4. IE瀏覽器滾動條隱藏隱藏

::-webkit-scrollbar-track { background-color: rgba(0,0,0,0.2);  }
::-webkit-scrollbar {  width: 0px;height:8px;  background-color: #F5F5F5;border-radius: 5px;  }
::-webkit-scrollbar-thumb { /* */background: #0C4EA2;border-radius: 5px; }
::-webkit-scrollbar-corner{ background-color: #F5F5F5;}
ie隱藏滾動條樣式代碼:
html {
       /*隱藏滾動條,當IE下溢出,仍然可以滾動*/
      -ms-overflow-style:none;
      /*火狐下隱藏滾動條*/
      overflow:-moz-scrollbars-none;
  }
  /*Chrome下隱藏滾動條,溢出可以透明滾動*/
  html::-webkit-scrollbar{width:0px}
  • 火狐不允許自定義滾動條樣式,可以用兩個div遮蓋來隱藏,還可以用插件來解決。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 16宿命:用概率思維提高你的勝算 以前的我是風險厭惡者,不喜歡去冒險,但是人生放棄了冒險,也就放棄了無數的可能。 ...
    yichen大刀閱讀 8,164評論 0 4
  • 公元:2019年11月28日19時42分農歷:二零一九年 十一月 初三日 戌時干支:己亥乙亥己巳甲戌當月節(jié)氣:立冬...
    石放閱讀 7,524評論 0 2
  • 今天上午陪老媽看病,下午健身房跑步,晚上想想今天還沒有斷舍離,馬上做,衣架和旁邊的的布衣架,一看亂亂,又想想自己是...
    影子3623253閱讀 3,076評論 3 8

友情鏈接更多精彩內容