1. まとめトップ

「Uncaught SyntaxError: Unexpected token }」

これに関しては当たり前すぎるのか解説しているサイトも見当たらないのですが、たいていの場合、
{や;などのJSの基本文法に必要な文字が抜けていることが多いです。
このエラーが出たら、自分の書いたコードをもう一度確認してみましょう。

「Uncaught SyntaxError: Unexpected token ILLEGAL」

こちらのエラーは、何らかの不正な文字がコード内に含まれてしまっている場合に出るみたいです。
例えば、改行を示すメタ文字\nがエスケープされずに残っていたり、全角スペースや何らかの文字列がシングルクォート(')やダブルクォート(")で囲まれずに書かれていたりする時に出ます。
二つ目のリンク先では、\nともう一つの改行メタ文字である\rが残っている場合に出たエラーについて記載されています。

「Uncaught SyntaxError: Unexpected token o」

これはJSON.parse()を使ったときに見かけるエラーです。初めて見かけたときは、「o」なんてコードの中にないのに…?と思いがちですが、このoはobjectのoです。
つまり、JSON.parse()の引数に渡されている内容が、文字列ではなく既にオブジェクトである時にこのエラーが吐かれます。
要するに渡したJSONの前後にシングルクォートが抜けていると起きるんですね。
JSONの書式はJSのオブジェクトに非常に近いので、クォートなしで書くと、文字列ではなくオブジェクトとして認識されてしまうんです。
しかし、JSON.parseは引数として文字列を要求します。
そのため、オブジェクトを文字列として読み込んだ結果の[Object Object]が渡されてしまうことになるのです。

Uncaught SecurityError: Blocked a frame with "URL" origin from accessing a frame with origin"URL2"…

こちらのエラーは、iframeを使って外部サイトにアクセスしている場合に起きるエラーのようです。サイトに何らかの広告を貼り付けたらこれが出るようになった、なんて人も多いのではないでしょうか。
iframeに限らずAjaxの通信においては、Same-Origin Policy(同一生成元ポリシー)というものがあり、リンク先とリンク元のドメインが同じであることが求められているのです。
このポリシーはセキュリティ上の懸念から設定されているものであるため、このエラーを回避するためには、基本的には子フレーム(リンク先)のページに何らかの対策を施す必要があります。
ちなみに、このエラーは無視しても表示自体は問題がない、というケースも多いです。

event.returnValue is deprecated. Please use the standard event.preventDefault() instead.

これはエラーではなく、ワーニング(警告)です。そのため、無視しても問題なく動作します。
あなたのサイトでこの警告が出ていても、たぶんあなたの書いたコードは別に悪くないです。この警告の原因はjqueryにあります。
これはjquery1.10.2がサイト上で用いられている場合に表示される警告で、すでにjquery側では修正済みのようです。
この次の1.11.0~や2.1.0-beta1~ではこの警告は出なくなっているようです。
つまり、放置しておいてかまいません。

1





gutsnosadaさん

このまとめに参加する