Hatena::Groupdaichan330

趣味には偏ってないだいちゃんの日記 このページをアンテナに追加 RSSフィード

2009-03-30

はてなキーワードの統計グラフにおけるscriptエラー

| 14:38 |  はてなキーワードの統計グラフにおけるscriptエラー - 趣味には偏ってないだいちゃんの日記 を含むブックマーク はてなブックマーク -  はてなキーワードの統計グラフにおけるscriptエラー - 趣味には偏ってないだいちゃんの日記  はてなキーワードの統計グラフにおけるscriptエラー - 趣味には偏ってないだいちゃんの日記 のブックマークコメント

はてなアイデア - ブログページの統計グラフにアクセスすると「行:41 エラー:識別子、文字列または数がありません。」のスクリプトエラーが発生。

もう半年以上前の話になるこのアイデアですが、偶々気が向いたので少し調べてみました。

ex. 「はてなアイデア」のトレンド - はてなキーワード

エラー内容

IEだと最新版の8でも上記の「統計グラフ」ページにアクセスすると以下のようなscriptエラーになったりします。

f:id:daichan330:20090330144210p:image

しかしFirefox3/Safari3だとこのエラーは発生しません。

エラー原因

HTMLソースを見た所、エラーメッセージ通りちょうど現在の43行目辺りにある以下のscriptコードがエラーの直接原因のようです。コピペの影響だと思われますが、グラフ線の色を決定する?ハッシュ変数を構築する際、最後に「,」が入ってしまっています。

(function() {
    var GRAPH_COLORS = {
        '':   'FF771C',
        'bl': 'FF1594',
        'gr': 'FF771C',
        'pi': '661BFF',
⇒      'mt': 'FF1594',
    };
:

ブラウザ互換の疑問

C/Javaなどのコンパイラ言語なら、これだと明らかにコンパイルエラーになると思うのですが、IEはエラーになりましたが、Firefox3/Safari3辺りのMozilla系ブラウザではエラーにならないようでした。実際の所「JavaScript(ECMAScript)としては」どうなんでしょうか…?

追記

id:os0x氏にECMAScriptの現行仕様についてご教授いただきました。ありがとうございましたm(_ _)m

http://h.hatena.ne.jp/os0x/9234086049443370926

YuichirouYuichirou2009/03/31 00:09ECMAScript 3の仕様上は間違いですが、その方言であるJavaScriptや、Perlなど他のLL言語などでは許容され、むしろ推奨されています。新たにkey- valueペアを書き足すとき、1行付け足しだけして前の行の最後にカンマを入れ忘れちゃうことってよくあります……よね?
まぁ、このトラブルはありがち過ぎてよく話題に挙がっていたりするのですが。
例:http://blog.livedoor.jp/dankogai/archives/50893888.html (さっきもう1つ挙げてたけどちょっと違う話題だったので削除します)

daichan330daichan3302009/03/31 01:42ありがとうございます。
Script系言語は少し齧り始めた状況だったので、文法的には犯しがちな内容とはいえ、エラーになるのかどうなのかイマイチ疑問だったのです。(厳格なコンパイラ系言語ならエラーとしてはねそうですが)