IE8 がスクリプト タグの外側で JavaScript エラーを報告している (またはそう主張している) という奇妙な問題が発生しており、ページ上のそれ以降のすべての JS が壊れています。問題のあるコードは次のとおりです。
<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() は jQuery.ajax() の単なるラッパーであり、サイト全体の何百もの場所で問題なく使用されています。
</script>
IE は、タグのある行の 23 文字目に構文エラーがあると主張しています (どのタイプかは詳しく説明されていません) 。この行は 15 文字しかないため、これは特に奇妙です。ただし、IE8 開発者ツールで想定される場所を調べると、実際に<h2>
は次の行のタグの途中にエラーが表示されます。
公式の IE エラー メッセージは次のとおりです。
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
IE が実際のエラー メッセージを表示しないことを考えると、これまでオンラインでこれに関する情報を見つけることができませんでした。JSLint も何の役にも立たず、Chrome と FF で問題なく動作します。明らかな何かが欠けていますか?
編集: IE が上記のコード スニペットでエラーを報告しているにもかかわらず、実際には別の場所で死んでいるというのが私の推測です。それがコンセンサスのようです。ページを精査して、運が良ければエラーを見つけることができると思います。