所以我有这个代码(一个函数)在Google Chrome / Fire Fox中有效,但在IE中没有。如果我对这一行进行评论,那么一切都运行良好,除了这条线是至关重要的。
我有一个名为ReadCookie的函数,它基本上只将cookie存储到名为cookiearray的数组中。
function ReadCookie() {
var allcookies = document.cookie; //variable called "allcookies" stores all the cookies.
cookiearray = allcookies.split(';').map(c => c.split('=')[1]); //cookiearray is an array that has all the values as strings.
}
IE说第4行不正确cookiearray = allcookies.split(';').map(c => c.split('=')[1]);
但我不知道为什么。
谢谢!
答案 0 :(得分:4)
Arrow functions(如c => c.split('=')[1]
)是ES6中的新功能。 Chrome支持它们。 Internet Explorer没有。
答案 1 :(得分:3)
我相信这是一张ECMA脚本6 thing与您使用地图的方式。
所以你可以这样写:
cookiearray = allcookies.split(';').map(function (c) {
return c.split('=')[1];
}); //cookiearray is an array that has all the values as strings.
答案 2 :(得分:0)
我实现的解决方案如下
粘贴代码,然后选择es2015。
如果您使用的是 forEach (在IE中也不支持),请在新代码中粘贴以下内容:
if(window.NodeList &&!NodeList.prototype.forEach){ NodeList.prototype.forEach = Array.prototype.forEach; }
使用 indexOf 代替 includes