Home > 技術 > Firebugが入っているかをJavaScriptから判断する方法

Firebugが入っているかをJavaScriptから判断する方法

簡易版FirebugのFirebug Liteのコードを見てて思ったのが、FirefoxでFirebug Liteを埋め込んだページをロードした場合に、ちゃんと既存のほうのFirebugが開いたのでどっかで判断しているじゃないかと思ったら1行目に書いてあったw

if (("console" in window) || ("firebug" in console)) {
    alert("Firebugが入っています");
}

初めのif文がまさにそれ!
alertは自前で付け足したものですが、if文のところはそれでしょう。

でももしwindowオブジェクトにconsoleがなかった場合に、次の("firebug" in console)でconsoleというオブジェクトが存在しないためにエラーなるかも。
いろいろ実験した結果ブラウザにごとに条件分けしないといけないかもです。

続きで実験用のボタンをご用意しています。

案の定consoleオブジェクトが見つかりませんになったので、windowオブジェクトにconsoleがあるかどうかで判断しています。


function firebugcheck() {
    if ("console" in window) {
        alert("Firebugが入っています");
    }
    else {
        alert("Firebugが入ってない");
    }
}

とりあえずFirebugが入っているFirefoxと、IEとで実験してみたところちゃんとFirefoxのほうで入っているというアラートが出たのでこれでいいのかな?

気持ちが悪いのがSafari3.1で上のボタンを押すと「Firebug入ってます」になった(入ってるの?w)

Safariの場合はこうかもしれない。

function firebugcheck() {
    if (("console" in window) && ("firebug" in console)) {
        alert("Firebugが入っています");
    }
    else {
        alert("Firebugが入ってない");
    }
}

ちょっと面倒だな~。


追記:

Safari 1.3以降では、JavaScriptでwindow.console.log()を使用することにより、任意の情報を明示的に記録する関数(Objective-CのNSLog()に似た関数)がサポートされます。すべてのメッセージが「JavaScript Console」ウインドウに送られ、JavaScript例外と容易に区別がつくように濃い緑色できれいに表示されます。

via: Safari Developer FAQ

Safari1.3以降でconsole.logは存在しているみたいです。

for (var i in console) {
    console.log(console[i]);
}
console.log("aaa");

forinで列挙してみたら

  • warn
  • error
  • log
  • info

の4種類があることが分かりました。
じゃあどこに出力されるの?というとエラーコンソールだそうです。
なるほどFirebugいらずってことですな。

【関連する記事】

Comments:0

Comment Form

コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。

Remember personal info

Trackback:0

TrackBack URL for this entry
http://hisasann.com/cgi-bin/mt/mt-tb.cgi/1052
Listed below are links to weblogs that reference
Firebugが入っているかをJavaScriptから判断する方法 from HouseTect, JavaScripter Blog

Home > 技術 > Firebugが入っているかをJavaScriptから判断する方法

Tag cloud
Categories
月別アーカイブ
このブログについて
author:hisasann

description:フリーランスで仕事しているプログラマーです。
最近はJavaScript、Rails、Java(Struts+Spring)なんかをいろいろといじっています。
今やってみたいのはFlashやActionScriptかな。
また誕生して半年になる子供の成長を見守るパパでもあります。

日々の日記 :

他に運営しているブログ:

利用しているWebサービス :
最近のコメント
Powered by
Powered by
Movable Type 3.35

Page Top