2013-10-23 43 views
9

所以我需要檢查在Firefox的一些結果附加我的工作,但在執行console.log()不起作用。我試過簡單地把console.log("Hello World");放在main.js文件中並加載它,但它沒有記錄任何東西。火狐附加組件的console.log()不工作

+0

您要在哪裏尋找它?你應該看看Firefox控制檯 - 如果它沒有運行,那麼你的代碼有什麼問題,根據你給出的內容,目前無法回答。 –

+0

我正在查看控制檯,命令/ ctrl + shift + j。無論我將它放在main.js文件還是內容腳本中,它都不會在控制檯中記錄任何內容。 –

回答

13

默認的最低日誌級別爲error。其他一切都不打印,包括console.log()。有關如何使用和配置日誌記錄和關聯關卡的更多信息,請參閱Log Levels

+0

謝謝,這非常有益! –

+1

哇,非常有益。 'console.time(name)'和'console.timeEnd(name)'功能非常棒。 'extensions.sdk.console.logLevel'影響非sdk附加組件嗎?好奇,因爲該文件似乎有點蹩腳。 – Noitidart

+3

請注意,logLevel的這個屬性在我的Firefox的about:config頁面(idk why)中不可見。因此,在搜索解決方案一段時間後,我終於按下了「Ctrl + Shift + J」,並打開了瀏覽器控制檯,我可以使用console.error從我的插件中看到日誌。 –

2

您可以使用Firebug開發您的Firefox擴展。如果你安裝了這個插件,你可以將它與「Firebug.Console.log();」命令。只要小心一點,在這個命令中,你不應該在後面輸入「Console」!此外,您可以使用以下命令使用Firefox「瀏覽器控制檯」(而不是Web控制檯): Application.console.log();

7

如果您正在使用擴展/插件(而非SDK),只需導入Console.jsm,然後console.log()就可以正常工作。這就是我所做的。

Components.utils.import('resource://gre/modules/devtools/Console.jsm'); 

更新:火狐44+

Components.utils.import('resource://gre/modules/Console.jsm'); 
+1

我想問問,我在哪裏導入?在內容腳本中還是在主腳本中? – Tony

+1

在主要腳本ususally – erosman

1

使用附加組件SDK的?您必須爲您的分機設置Log level

var self = require("sdk/self"); 
var prefService = require("sdk/preferences/service"); 
prefService.set('extensions.'+ self.id +'.sdk.console.logLevel','all');