You can also get this error if you're doing an AJAX call from jQuery and you pass an extra comma on the end of the array, like so:
$.post('http://example.com/example1/',{
field1:sField1,
field2:sField2,
field3:sField3,
field4:sField4,
field5:sField5,
},function(sData){
if (console) { console.log(sData); }
});
See that comma after the sField5? That's the syntax error. No other browser will care but IE. IE will throw the obscure 80020101 error (which means "cannot evaluate your Javascript -- you have a syntax error") and it will be practically baffling to chase it down if you're using jQuery because the debugger will merely point to the eval line in jQuery. The IE debugger will be of no use to you to chase this, thanks to Microsoft. The next time you get the 80020101 error, my suggestions are:
- Look for any AJAX calls and look for an extra comma.
- Look for any arrays (like stuff in curly braces) where there's an extra comma at the end.
- If that still doesn't help, then look at the technique where you use
<!--
and //-->
to mark off your Javascript. This has been a known problem with jQuery up until 1.7.2 and it's still a filed bug with the jQuery team.
- Move to the latest version of jQuery.
- Start removing stuff piece by piece out of your script block and adding the items in slowly until you find the offending piece of code.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…