"Expected identifier, string or number" ~ Thu, 08 Dec 2011 19:03:14 +0000
Thanks, IE.
I just spent pretty much all day tracking down the cause of this error. Conventional wisdom regarding this error is that you have a snippet of JavaScript like (where the comma trailing "42" is the error):
var myObj = {
a: "a string",
b: 42,
}
I didn't. But IE 8 was still throwing up this error message and its developer tools were pointing me at a line of HTML that contained nothing more than "<div>". WTF, right? So after much confusion, and narrowing of code, I found the line IE was really barfing on. Consider the following object:
var myObj = {
default: "ie blows",
b: 42
}
Can you guess the problem? IE does not like keywords being used as the name of an object property. If you really want to use a keyword, like the jQuery plugin I'm using does, then write your object with JSON style syntax:
var myObj = {
"default": "ie blows",
"b": 42
}