2012-04-13 15 views
11

私のuserscriptはconsole.log()を使っていくつかの情報を表示します。Firefox、Greasemonkeyスクリプトでconsole.logが動作しない

これはChromeで問題なく動作しますが、このユーザースクリプトをFirefox(Greasemonkey)にインストールすると、Firefoxのウェブコンソールには何も表示されません。

解決策を探しましたが、unsafeWindowを使用するように提案されていましたが、出力も表示されません。さらに、unsafeWindowはクローム用には使用できません。私もFirebugをインストールしましたが、それは役に立たなかった。どうすれば解決できますか?

例えば、私はFirefoxでこのuserscriptを試してみました:

// ==UserScript== 
// @name  console 
// ==UserScript== 
console.log("hello"); 

答えて

16

あなたが右のGreasemonkey、経由でインストールする場合、それは動作しません意味ですか?
まあまあ、Greasemonkey broke console.log(新!Bug report)です。さて、Greasemonkeyからplain console.log()コールの結果を見るには、を参照する必要があります。Firefoxの Firebugではなく、エラーコンソールです。 CtrlキーシフトJ

あなたが押すことでFFのエラーコンソールを見ることができます。

の場合、unsafeWindow.console.log()をChromeとGreasemonkeyの両方のスクリプトで使用できます。 Chromeは現在unsafeWindowのサポートを制限しています。

unsafeWindowを使用すると、GreasemonkeyからFirebug's logging functionsのフルレンジにアクセスできます。 (Firebugのをインストールする必要がありますし、彼らはまだクロームuserscriptsに動作しない場合があります。私はしばらくの間そのようにテストしていません。)のFirefoxでは


をFirebugのがインストールされていない場合、またはそれがアクティブではありませんページ、その後、unsafeWindow.console.log()呼び出しは新しい "Webコンソール"(CtrlキーシフトK)に表示されます。
Greasemonkeyスクリプトの内部にある場合は、unsafeWindowを使用する必要があります。

Firefoxは現在、console.log(),console.info()console.warn()console.error()をサポートしているため、Firebugは必要ありません。

+0

firebugで 'unsafeWindow.console.log()'を使用しても動作していますが、webConsoleで出力を取得するにはどうすればいいですか?火かき棒を使わずに出力を得る方法はありません。 – user1275375

+0

更新された回答を参照してください。 –

+0

私はこれを試してみましたが、何もWebコンソールに表示されません – user1275375

5

私はタグがであることを誓うことができましたが、GM_logの方法を使用してみませんか?

// ==UserScript== 
// @name   GM_log Example 
// @namespace  http://www.example.com/ 
// ==/UserScript== 

GM_log("This is an example of GM_log"); 

何か不足していますか?

PS:about:configでjavascript.options.showInConsoleを確認することもできます。 trueである必要があります。私は(クローム/ Tampermonkeyでのテストは)何が必要であることがわかっ

+1

はい、 'GM_log'を使うことができますが、ポータブルではないか、単体テスト可能です。また、ほとんどのブラウザでサポートされているネイティブのものと、Firebugの甘いコンソールAPIの両方である 'console' APIと比べると、かなり魅力的です。 –

1

unsafeWindowconsoleなど
window.log("<message goes here>");ないunsafeWindow.console.log("<msg>"); は未定義を思い付きます。試してみてください。それは、それがあなたがそれ以降のバージョンのブラウザなどでそれをやることになっている方法であると確信しています。
私はこれが助けてくれることを願っています!

関連する問題