最近在写一个项目,后来被告知需要兼容IE
但是IE并不支持ES6的语法,这就很淡疼了~~
我们也不可能只用ES5的语法
使浏览器兼容ES6基本语法
于是就在网上找到了方法:
在引入其他脚本前先引入 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 默认只转换新的 JavaScript 句法,而不转换新的 API ,比如 Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise 等全局对象,以及一些定义在全局对象上的方法(比如 Object.assign)都不会转码。为了解决这个问题,我们使用一种叫做 Polyfill(代码填充,也可译作兼容性补丁) 的技术。
在页面引入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真废~~)