javascript - I get a syntax error in IE but not in Chrome - Stack Overflow

So I have this code (a function) that works in Google ChromeFire Fox but not in IE. If I ment this cer

So I have this code (a function) that works in Google Chrome/Fire Fox but not in IE. If I ment this certain line, everything runs fine, except that line is crucial.

I have this function called ReadCookie, which basically just stores the cookies into an array called 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 said that the 4th line is incorrect cookiearray = allcookies.split(';').map(c => c.split('=')[1]); but I don't know why.

Thanks!

So I have this code (a function) that works in Google Chrome/Fire Fox but not in IE. If I ment this certain line, everything runs fine, except that line is crucial.

I have this function called ReadCookie, which basically just stores the cookies into an array called 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 said that the 4th line is incorrect cookiearray = allcookies.split(';').map(c => c.split('=')[1]); but I don't know why.

Thanks!

Share Improve this question asked Jun 11, 2016 at 22:39 EdwinEdwin 4001 gold badge5 silver badges19 bronze badges 2
  • 1 you could also try a syntax from some future ES7 working draft for instance. If you really want your production code to work - you'll stick to using a standard JS syntax and methods instead. – Bekim Bacaj Commented Jun 11, 2016 at 22:50
  • @BekimBacaj Or using a transpiler.. :D – user2864740 Commented Jun 11, 2016 at 23:01
Add a ment  | 

3 Answers 3

Reset to default 4

Arrow functions (like c => c.split('=')[1]) are a new feature in ES6. Chrome supports them. Internet Explorer does not.

I believe it's an ECMA script 6 thing with the way you're using the map.

So you can write it like this instead:

cookiearray = allcookies.split(';').map(function (c) {
  return c.split('=')[1];
}); //cookiearray is an array that has all the values as strings.

The solution I implemented was as follows

  1. goto: https://babeljs.io/repl

  2. Paste in your code and select es2015.

  3. In your new code paste the following, if you are using forEach (which is again not supported in IE) :

    if (window.NodeList && !NodeList.prototype.forEach) { NodeList.prototype.forEach = Array.prototype.forEach; }

  4. Use indexOf instead of includes

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745666395a4639147.html

相关推荐

  • javascript - I get a syntax error in IE but not in Chrome - Stack Overflow

    So I have this code (a function) that works in Google ChromeFire Fox but not in IE. If I ment this cer

    21天前
    80

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信