スクリプトエラー

最近、DATA.blogのdata氏から「cagylogicにアクセスするとスクリプトエラーが出るよ」と教えてもらったので、それを調査。

今週は忙しかったので、更新が滞ってしまった。

さて、スクリプトエラー。
cagylogic
普段、僕はエラーを表示させるとうっとうしいので、表示しないようにしている。仕事で使うPCでは当然エラーを表示しているが、仕事で使うPCではcagylogicにアクセスしないので気がつかなかった。
いつごろから出てたんだろう。

実際にIEからアクセスしてみると、IEの左下の部分が、本来なら、
cagylogicOK
とならなければいけないのに、
cagylogicERR
と、アイコンが違う。エラーが出てる。んで、こいつをダブルクリックすると、先のスクリプトエラーを見ることができる。

それにしても、このびっくりするほど不親切なエラーは何なんだ。

ということで、こうゆうときは、FireFox。FireFoxの方が詳細なエラーを表示してくれる。FireFoxでページを表示させる前に、メニューのツールからJavaScriptコンソールを選んでおくと、JavaScriptに関するエラーが詳細に表示される。ページを表示させる前に、「消去」を押しておかないと、どれがどのエラーかわからなくなる。

JavaScriptConsole
ありゃりゃ。出るわ出るわ。いっぱいのエラー。

表示されているURLから、googleのadsense周りのスクリプトでエラーがあることが、わかる。俺、使い方間違ってるかな。

cagylogicは現在4つの要素で構成されている。
cagylogicTOP
赤枠でくくったところで別れている。上と左と中と右の4つだ。
上はタイトルしか入っていないので問題外。左と右にGoogleの広告を出しているのでこれが怪しい。中でも記事ごとの表示のときはGoogleの広告を出しているが、それは後で調べることにしよう。

ということで、まず左の部分とにらめっこ。あちこち削っていって、エラーが無くなるポイントを探す。

あり?なんで、こんなところに、こんなこと書いてるの?

はい、犯人確定。どっかからコピーしたときにいらんものまで連れてきてたようです。

<script type=”text/javascript” src=”http://pagead2.googlesyndication.com/pagead/show_ads.js” />を2回連続して描くと、
b has no properties、すなわち、’undefined’ は Null またはオブジェクトではありません。というエラーが出るようです。

これで、IEで開いたときにうだうだ言われなくなりました。
JavaScriptConsole2
だけど、コレだけのエラーが残ってます。うーん。なんでやろ。

コメントを残す