2009-07-25 26 views

回答

16

由於您沒有編寫在窗口內執行的Javascript,因此未定義console

所以,你需要首先引用Firebug擴展:

Firebug.Console.log(str); 
+5

Oopch,`Firebug` is undefined! – 2012-09-15 03:19:17

+0

我安裝了Firebug,但似乎你不能再這樣做。 `Firebug`是`undefined`。 – 2012-10-15 12:32:26

1

Firebug控制檯與特定的頁面相關聯,所以即使您設法在那裏記錄消息也不會很方便。你嘗試過Chromebug嗎?我沒有使用它,但我希望找到一個類似的控制檯來擴展在那裏使用。

您也可以使用常規的錯誤控制檯,儘管您無法獲得Firebug控制檯提供的所有細節。您可以安裝控制檯^ 2 https://addons.mozilla.org/en-US/firefox/addon/1815以使使用錯誤控制檯不那麼痛苦。

1

如果你的擴展,你可以訪問內容窗口對象,你可以解開它,並直接調用控制檯方法:

window.wrappedJSObject.console.log('something important'); 
1

有些情況下,即使是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; 

然後,您可以從側邊欄的呼叫螢火之內,像這樣:

Firebug.Console.log("foo"); 

這是記錄在這裏:

https://developer.mozilla.org/en/Code_snippets/Sidebar

2

要從Firefox擴展的JavaScript內登錄到控制檯Application.console.log(「來自我的Firefox擴展的Hello!」);