IE では配列の最後に , を付けてはいけない のバックアップ(No.1)
更新- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- プログラミング/JavaScript/IE では配列の最後に , を付けてはいけない へ行く。
- 1
IE では配列の最後の , は付けてはいけない †
このサイトでは 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 だということなのかもしれませんが。