1

拡張機能に独自のコンソールを使用して、さまざまなデバッグ情報を出力したいと考えています。私はそれをすることによってそれをするだろうと思った

window.open("chrome://myextension/content/console.xul"..

そのウィンドウのテキストボックスに印刷します。ここですでに何か間違っていることがわかりますか?=)

今、私は小さな問題を抱えています。これは、コンソールに印刷する前に、コンソールのロードが完了するまで待たなければならないことを意味します。それを行う正しい方法は何ですか?log メソッド内で nsITimer または thread.sleep を使用して、既にロードされているかどうかをチェックし続けることができますが、これは好きではありません。また、window.onload イベントを正しく使用する方法もわかりません。これは、window.onload = function() { all of my extension code.. } のようなものしか表示されないためです。

こんな風にいつでもどこでもなんとかして使ってほしい

console = Cc["@myconsole;1"].getService().wrappedJSObject;
console.log("foo");

何かアドバイス?お待ちいただきありがとうございます =)

4

1 に答える 1

2

最初にバックエンド ロギング モジュールとして実装していたでしょう。

https://developer.mozilla.org/en/JavaScript_code_modules

そして、それと対話するカスタム chrome ウィンドウを作成します (すべてのログを取得し、ログをクリアし、サブスクライブして新しいログ イベントを取得します)。

コーディング時間を節約するには、console2と (あまり知られていない) firebugトレース コンソールも参照してください。

于 2010-07-13T11:56:22.320 に答える