Как вы входите в Firebug с расширения? - PullRequest
13 голосов
/ 25 июля 2009

Я пишу расширение для Firefox, и мне нужно записать некоторые данные в консоль Firebug. В рамках моего дополнения «console» не определена, а «window.content.console» также не определена. Так как мне войти в консоль?

Ответы [ 6 ]

16 голосов
/ 28 марта 2010

Поскольку вы не пишете Javascript, который выполняется в окне, console не определено.

Поэтому вам нужно сначала обратиться к расширению Firebug:

Firebug.Console.log(str);
2 голосов
/ 17 июня 2013

Чтобы войти в консоль изнутри javascript расширения Firefox:

Application.console.log («Привет из моего расширения Firefox!»);

1 голос
/ 10 октября 2011

Существуют контексты, в которых даже объект Firebug неизвестен, например, если вы пытаетесь вызвать его с боковой панели ... в этом случае вам нужно вернуться обратно к исходному окну, чтобы получить объект 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 из своей боковой панели следующим образом:

Firebug.Console.log("foo");

Это задокументировано здесь: https://developer.mozilla.org/en/Code_snippets/Sidebar

1 голос
/ 24 августа 2011

Если в вашем расширении у вас есть доступ к объекту Window содержимого, вы можете развернуть его и вызвать методы консоли напрямую:

window.wrappedJSObject.console.log('something important');
1 голос
/ 27 июля 2009

Консоль Firebug связана с определенной страницей, так что это будет не очень удобно, даже если вам удастся зарегистрировать там сообщения. Вы пробовали Chromebug? Я не использовал его, но я ожидал найти подобную консоль для расширений для использования там.

Вы также можете использовать обычную консоль ошибок, хотя вы не получите все тонкости, которые предоставляет консоль Firebug. Вы можете установить консоль ^ 2 https://addons.mozilla.org/en-US/firefox/addon/1815, чтобы использовать консоль ошибок немного менее болезненно.

1 голос
/ 25 июля 2009

Насколько я знаю, вы можете сделать это только при создании дополнения JetPack. Обычная отладка выполняется с Venkman из Mozilla на http://www.mozilla.org/projects/venkman/

...