やっぱりfirebugのconsoleが動かない

firefoxのバージョンは最新の、2.0.0.18。
気まぐれにfirebugのバージョンを1.05(たぶん)から1.2.1(現在の最新安定バージョンとして配布)にしてコンソール開いて、console.log('aaaaa');を打つと
ReferenceError: console is not defined
ていわれた。

firefox3.0.4とfirebug1.2.1の組み合わせなら問題なくaaaaaがでる。

以前firefox3とfirebuggreasemonkeyからconsole.log(unsafeWindow.console.log('aaa')で出力可)ができなかったが、コンソールからはちゃんと表示できたのに。ひどくなってる。

間違いさがし


上がfirefox3で正常にconsole.logが働いたときの様子、下が今回問題のfirefox2でエラーがでたときの様子。


firebugのバージョン1.2からはコンソールに命令を入力すると、なんやかんやでbodyの後ろにfirebugの要素が追加されて動作しているらしい。

http://ido.nu/kuma/2008/05/16/firebug-12-%E2%80%98console%E2%80%99-implementation-japanese-translation/
>FF3betaでFirebugの1.1のコマンドが動かなくなりました。これを直すのがすごい難しくてコマンドラインとコンソールを作り直す必要がありました。


がんばってにらめっこしていても解決策がわからん。

わかったこと

  • commandLine.jsでwith (_FirebugCommandLine) {\n " + expr + " \n}を付加してる。
  • consoleInjected.jsでevaluateErrorのハンコがおされている。

結局は

firebug 1.3.0b3をインストールして、console.log('aaaaa');が表示されたので落着。
http://getfirebug.com/releases/firebug/1.3/

firebug 1.3.0b3の役に立たない挙動メモ


firebugを有効にした状態でページを読み込んだ後の様子。無垢の状態。


Firebug cannot find _firebugConsole element TypeError: window._getFirebugConsoleElement is not a function Window
uncaught exception: Permission denied to get property Window.$0
コマンドラインパッドをクリックするとエラーが表示される(コンソールは有効の状態で)。


エラー表示後の様子。


コマンドラインからconsole.log('aaaaa');を実行してコンソールに表示された様子。

greasemonkeyからunsafeWindow.console.log


greasemonkeyからunsafeWindow.console.log('aaaaa');を実行してコンソール表示に成功したときの様子

なんとなく

Firebug cannot find _firebugConsole elementのエラーメッセージについては、ドメインごとのコンソールを有効にするか「使用するサイト」に登録するとエラーが出力されなくなったりする。ここらへんの設定がふわふわしてる印象。有効に設定しても保存されてなくて(?)エラーがでたり。でもなぜかgoogleはどうやってもエラーがでない。


コンソールが有効な状態で、スクリプトパネル(無効)を開いた様子。チェックが入ってない。表示だけのバグじゃなさそう。1.2.1も同じだった。


統一性のないUI。

まとめ

しばらくfirebugのbugにより難民の増加が予想される。