Javascript Firefox开发工具中的Web控制台对象在哪里?

Javascript Firefox开发工具中的Web控制台对象在哪里?,javascript,debugging,firefox-addon,javascript-debugger,firefox-developer-tools,Javascript,Debugging,Firefox Addon,Javascript Debugger,Firefox Developer Tools,我找到了一种将信息注入Firefox Web控制台的方法,捕获并修改createMessageNode的返回值,修改Web控制台输出: 奇怪的是,返回的元素似乎没有任何可能的方式将它们链接回它们所表示的对象——然而,当您单击[object Array]时,它总是弹出到右侧。这是如何连接的 作为旁注,当我向上单击面包屑以查看它在堆栈跟踪上的来源时,一些项目没有显示在调试器中。这是一个bug,还是一些JS模块被编译成永远不会在这里显示它们的内容?这是将数组添加到控制台行而不是总是说[object

我找到了一种将信息注入Firefox Web控制台的方法,捕获并修改createMessageNode的返回值,修改Web控制台输出:

奇怪的是,返回的元素似乎没有任何可能的方式将它们链接回它们所表示的对象——然而,当您单击[object Array]时,它总是弹出到右侧。这是如何连接的

作为旁注,当我向上单击面包屑以查看它在堆栈跟踪上的来源时,一些项目没有显示在调试器中。这是一个bug,还是一些JS模块被编译成永远不会在这里显示它们的内容?这是将数组添加到控制台行而不是总是说[object array]等的正确位置吗


更新您可以在该分支中查看并运行上面的代码:

通过注入信息您是指Services.console.logStringMessage和其他内容吗

如果要访问web控制台的chrome,请执行以下操作:

var devtools = Cu.import("resource://gre/modules/devtools/Loader.jsm", {}).devtools;
var HUDService = devtools.require("devtools/webconsole/hudservice");

var hud = HUDService.getBrowserConsole();

var btnClear = hud.chromeWindow.document.querySelector('.webconsole-clear-console-button');
btnClear.addEventListener('mouseover', function() {
  hud.jsterm.clearOutput(true);
}, false);
var fieldFilter = hud.chromeWindow.document.querySelector('.hud-filter-box');
fieldFilter.value = 'rawr'

此代码访问crhome窗口,您可以访问转储在那里的所有文本。上面的这个例子修改了过滤值,也使鼠标上的clear(清除)按钮清除了web控制台曾经,只是一个如何访问web控制台的例子,如果你正在这样做的话

很好的例子,HUDService记录在哪里?我更新了我的问题,将问题代码链接到控制台log.thx man中显示更多对象信息的地方。我根本找不到关于它的任何文件。这是我从mxr(mxr.mozilla.org)得到的。但是我确实试着在mdn上写了一些关于它的东西:这里:嘿,伙计,你想在mdn上启动一个服务文档页面吗?我会用我所知道的来帮助你,但看起来你正在深入挖掘,可以为此做出很大贡献。