I'm having a strange issue where IE8 is reporting a JavaScript error outside of a script tag (or so it claims), and breaking all further JS on the page. Here is the offending code:
<script type="text/javascript">//<![CDATA[
function emailReport() {
var params = window.location.search;
var url = "scripts/someScript.php" + params;
ajaxwl(url, false, null, function() {
alert("Report successfully sent.");
});
}
//]]></script>
<h2>Analyst Report</h2>
ajaxwl() is just a wrapper over jQuery.ajax(), and is used in hundreds of places throughout the site with no issues.
IE claims the syntax error (it doesn't elaborate as to what type) is at character 23 of the line with the </script> tag. This is especially strange since that line only has 15 characters. If I inspect the supposed location in the IE8 developer tools, however, it actually puts the error in the middle of the <h2> tag on the next line.
Here is the official IE error message:
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E; InfoPath.1; MS-RTC LM 8)
Timestamp: Tue, 12 Jun 2012 21:19:38 UTC
Message: Syntax error
Line: 175
Char: 23
Code: 0
Given that IE doesn't tell me an actual error message, I haven't been able to find anything about this online so far. JSLint doesn't yield anything helpful either, and it works flawlessly in Chrome and FF. Am I missing something obvious?
EDIT: My hunch is that despite IE reporting the error in the code snippet above, it's actually dying somewhere else. That seems to be the consensus. I guess I'll scour the page and see if I get lucky and find the error.
</script>and<h2>.