最近在寫一個項目贝咙,后來被告知需要兼容IE
但是IE并不支持ES6的語法,這就很淡疼了~~
我們也不可能只用ES5的語法
使瀏覽器兼容ES6基本語法
于是就在網(wǎng)上找到了方法:
在引入其他腳本前先引入 browser.min.js即可既棺。
附上下載地址:鏈接:https://pan.baidu.com/s/1Qj5OENVLGj39wmx_2pYfiQ
提取碼:2ctj
使用方法
<script type="text/javascript" src="./babel/browser.min.js"></script>
<script type="text/babel">
const list = ['one','two','three'];
list.forEach( (item,index) => {
alert(item + (index+1));
});
</script>
使IE瀏覽器兼容ES6(Promise 等語法)
Babel 默認(rèn)只轉(zhuǎn)換新的 JavaScript 句法湾笛,而不轉(zhuǎn)換新的 API 楣导,比如 Iterator俯树、Generator帘腹、Set、Maps许饿、Proxy阳欲、Reflect、Symbol陋率、Promise 等全局對象球化,以及一些定義在全局對象上的方法(比如 Object.assign)都不會轉(zhuǎn)碼。為了解決這個問題瓦糟,我們使用一種叫做 Polyfill(代碼填充筒愚,也可譯作兼容性補(bǔ)丁) 的技術(shù)菩浙。
在頁面引入browser-polyfill腳本:
<script type="text/javascript" src="./browser-polyfill.min.js"></script>
附上下載地址:鏈接:https://pan.baidu.com/s/1OzxT3ZbdZB3MIkdU7aH-Nw
提取碼:32vr
在查找資料的過程中巢掺,我還找到一個專門解決ie瀏覽器下promise未定義錯誤
只需要引入bluebird.js即可
附上下載鏈接:bluebird.js
為防止這么好的東西不見了,還是把代碼備份一下~~~
鏈接:https://pan.baidu.com/s/1BYp12oPKTrSD25XLRiTqdQ
提取碼:8r10
小聲逼逼(ie真廢~~)