Ajax等はやっており、色々作成しているのですが、JSON (JavaScript Object Notation)データを扱っていて、JavaScriptでの配列の非互換性を発見しました。
データが悪いと言ってしまえばそれまでなのですが、JavaScriptを直すのではなく、データを直す必要があるので、原因を追究するのに時間がかかります。頭の隅にでもとどめておくと良いと思います。

サンプルコード

以下のソースをIEとFireFoxで実行してみると異なった結果となります。

<html>
<body>
<script language="JavaScript" type="text/javascript" >
<!--
var dataArray = [
{'name':'1','data':'data1'},
{'name':'2','data':'data2'},
{'name':'3','data':'data3'},
{'name':'4','data':'data4'},
];
var length = dataArray.length;
document.write("length= " + length);
document.write("<br/>");
for (var i=0; i<length;i++){
document.write(" name=" + dataArray[i].name);
document.write(" data=" + dataArray[i].data);
document.write("<br/>");
}
// --></script>
</body>
</html>

FireFoxでの実行結果

length= 4
name=1 data=data1
name=2 data=data2
name=3 data=data3
name=4 data=data4

IEでの実行結果

length= 5
name=1 data=data1
name=2 data=data2
name=3 data=data3
name=4 data=data4

配列の長さがFireFoxは4、IEは5になっています。データは4つしかありませんので、IE上でランタイムエラーが発生し、エラーダイアログが表示されます。

どこが悪いのかというと、さらっと見ただけではわかりませんが、dataArrayの最後に「カンマ」が付いています。

{'name':'4','data':'data4'},

ではなく

{'name':'4','data':'data4'}

にする必要があります。

カンマを取ると、IEでもFireFoxでも長さは4となり正常に動作するようになります。
これで1時間程時間をつぶしました。お気をつけください。