IE では配列の最後に , を付けてはいけない の変更点

更新


[[公開メモ]]

#contents

* IE では配列の最後の , は付けてはいけない [#y87d6fa0]
* プログラミング/JavaScript/IE では配列の最後に , を付けてはいけない [#y87d6fa0]

このサイトでは [[shjs>http://sourceforge.net/projects/shjs/]] 
というライブラリを使ってソースコードのシンタックスハイライトをしています。
pukiwiki 用のプラグインは [[ソフトウェア/pukiwiki/texthighlight.inc.php]] です。

shjs ライブラリは JavaScript で書かれた言語定義ファイルを追加してやることで、
標準ではサポートされない言語にも比較的簡単に対応することができるため、
本サイトでは verilog や xilinx の xcf ファイルなどもカラー表示できるようになっています。

ところが、あるときから IE でこの機能が動作していませんでした。
Firefox や Chrome では問題なかったので気づきませんでした。

現象としては、verilog 言語のソースが貼られたページでのみ、
左下に黄色いびっくりマークが出て、「'0' はNULLまたはオブジェクトではありません」となります。

検索してみると、以下のサイトで書かれているのと同じ原因でした。

http://parktown.seesaa.net/article/141926616.html

以下のサイトでは同じIEでも古い方は最後のカンマを普通通りに解釈していたのに、
途中で独自仕様の側に振れたというようなことが書かれています。

http://homepage3.nifty.com/aya_js/js3/js313.htm

JavaScript の言語定義でどうなっているのか調べきれなかったのですが、
他のスクリプト言語や JSON との整合性を考えると
配列の最後のカンマのみの項は無視してくれた方が便利なのに、
泣かせてくれます。IE のは JavaScript じゃなくて JScript 
だということなのかもしれませんが。

それとも、.js ファイルを IE に標準 JavaScript (?) として解釈させる方法とか
あるんでしょうか。

* コメント [#cd37bb03]

#article_kcaptcha

Counter: 7101 (from 2010/06/03), today: 1, yesterday: 1