2009-07-25 12 views

Odpowiedz

16

Ponieważ nie pisze się Javascript, który jest uruchamiany w oknie, console nie jest zdefiniowany.

Więc trzeba najpierw odwołać rozszerzenie Firebug:

Firebug.Console.log(str); 
+5

Oopch, 'Firebug' jest niezdefiniowany! –

+0

Mam zainstalowany Firebug, ale wygląda na to, że nie możesz już tego robić. 'Firebug' jest' niezdefiniowanym'. –

+0

@TahaJahangir, włącz Firebug dla bieżącej strony i naciśnij klawisz f5;) –

1

Konsola Firebug jest powiązana z określoną stroną, więc nie byłoby to bardzo wygodne, nawet jeśli udało się tam zalogować wiadomości. Czy próbowałeś Chromebuga? Nie używałem tego, ale spodziewałem się znaleźć podobną konsolę dla rozszerzeń, które można tam wykorzystać.

Można również użyć zwykłej konsoli błędów, mimo że nie dostaniesz wszystkich nici dostarczonych przez konsolę Firebug. Można zainstalować konsolę^2 https://addons.mozilla.org/en-US/firefox/addon/1815, aby korzystanie z konsoli błędów było mniej bolesne.

1

Jeśli w rozszerzeniu masz dostęp do obiektu window zawartości, można go rozpakować i wywołać metody konsoli bezpośrednio:

window.wrappedJSObject.console.log('something important'); 
+0

window.wrappedJSObject jest niezdefiniowany –

1

Istnieją konteksty, w których nawet obiekt Firebug jest nieznany, tak jak próbujesz wywołać go z paska bocznego ... w takim przypadku musisz przejść całą drogę z powrotem do oryginalnego okna, aby uzyskać obiekt Firebug :

var Firebug = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor) 
.getInterface(Components.interfaces.nsIWebNavigation) 
.QueryInterface(Components.interfaces.nsIDocShellTreeItem) 
.rootTreeItem 
.QueryInterface(Components.interfaces.nsIInterfaceRequestor) 
.getInterface(Components.interfaces.nsIDOMWindow).Firebug; 

Można następnie z poziomu paska bocznego połączenia Firebug tak:

Firebug.Console.log("foo"); 

To jest udokumentowane tutaj: https://developer.mozilla.org/en/Code_snippets/Sidebar

2

Aby zalogować się do konsoli od wewnątrz rozszerzenie Firefoksa javascript:

Application.console.log ("Hello from my Firefox Extension!");

Powiązane problemy