2013-10-23 3 views
9

Quindi ho bisogno di controllare alcuni risultati in un componente aggiuntivo di Firefox su cui sto lavorando, tuttavia console.log() non funziona. Ho provato semplicemente a inserire, console.log("Hello World"); nel file main.js e caricandolo, ma non registra nulla.Firefox Addon console.log() Non funziona

+0

Dove lo cercate? Dovresti dare un'occhiata alla console di Firefox: se non è in esecuzione, c'è qualcosa di sbagliato nel tuo codice a cui non è possibile rispondere in base a ciò che hai dato finora. –

+0

Sto cercando nella console, comando/ctrl + maiusc + j. Indipendentemente se lo metto nel file main.js o in uno script di contenuto, non registra nulla nella console. –

risposta

13

Per impostazione predefinita il livello di registro minimo è error. Tutto il resto non viene stampato e questo include console.log(). Si prega di consultare lo Log Levels per ulteriori informazioni su come utilizzare e configurare la registrazione e i livelli associati.

+0

Grazie, è molto vantaggioso! –

+1

Wow molto utile. La funzione 'console.time (name)' e 'console.timeEnd (name)' è fantastica. 'Extensions.sdk.console.logLevel' influenza i componenti aggiuntivi non sdk? Curioso perché quella documentazione sembra un po 'schifosa. – Noitidart

+3

Si noti che questa proprietà di 'logLevel' non era visibile nella pagina' about: config' di Firefox (idk perché). Quindi, dopo un po 'di tempo per cercare la soluzione, alla fine ho premuto 'Ctrl + Shift + J' e ha aperto la console del browser dove ho potuto vedere i log dal mio add-on usando' console.error'. –

2

È possibile utilizzare Firebug per lo sviluppo dell'estensione firefox. Se installi questo componente aggiuntivo, puoi usarlo con "Firebug.Console.log();" comando. Basta fare attenzione, in questo comando non devi digitare "Console" con un ultimo piccolo!

Inoltre, è possibile utilizzare la "Console del browser" di Firefox (non la console Web) utilizzando questo comando: Application.console.log();

7

Se si sta lavorando su un'estensione/addon (non SDK), è sufficiente importare Console.jsm e quindi il console.log() funzionerà normalmente. Questo è quello che faccio.

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

Aggiornamento: Come di Firefox 44+

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

Vorrei chiedere, dove posso importarlo? In uno script di contenuto o nello script principale? – Tony

+1

Usualmente nello script principale – erosman

1

Utilizzando l'Addon SDK? È necessario impostare il Log level per la propria estensione:

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