Javascript 我在IE中遇到语法错误,但在Chrome中没有
所以我有一个在Google Chrome/Fire Fox中运行的代码(一个函数),但在IE中不起作用。如果我评论这一行,除了那一行是至关重要的之外,一切都正常运行 我有一个名为ReadCookie的函数,它基本上只是将Cookie存储到一个名为cookiearray的数组中Javascript 我在IE中遇到语法错误,但在Chrome中没有,javascript,cookies,Javascript,Cookies,所以我有一个在Google Chrome/Fire Fox中运行的代码(一个函数),但在IE中不起作用。如果我评论这一行,除了那一行是至关重要的之外,一切都正常运行 我有一个名为ReadCookie的函数,它基本上只是将Cookie存储到一个名为cookiearray的数组中 function ReadCookie() { var allcookies = document.cookie; //variable called "allcookies" stores all the cookie
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说第四行不正确cookiearray=allcookies.split(';').map(c=>c.split('=')[1])但是我不知道为什么
谢谢 我相信这是一个ECMA脚本6,与您使用地图的方式一致
所以你可以这样写:
cookiearray = allcookies.split(';').map(function (c) {
return c.split('=')[1];
}); //cookiearray is an array that has all the values as strings.
(如c=>c.split('=')[1]
)是ES6中的一个新特性。Chrome支持它们。Internet Explorer没有。我实现的解决方案如下
后藤:
粘贴代码并选择es2015
如果您使用的是forEach(IE中同样不支持),请在新代码中粘贴以下内容:
if(window.NodeList&!NodeList.prototype.forEach){
NodeList.prototype.forEach=Array.prototype.forEach;
}
使用indexOf而不是includes
例如,您还可以尝试将来ES7工作草案中的语法。如果你真的想让你的产品代码正常工作,你可以坚持使用标准的JS语法和方法来代替。@Bekimbacj或使用transpiler.:D