如何访问firefox web控制台命令历史记录



在Google Chrome开发工具中访问最后30(!)个javascript控制台命令非常容易:

取消锁定devtools,然后按其中的Ctrl+Shift+I来检查devtools本身。

在新的devtools窗口中,在控制台中键入以下命令:

> location.origin
"chrome-devtools://devtools"
> JSON.parse(localStorage.consoleHistory).join('n')
"inp.style.backgroundColor = "rgb(250, 0, 250)"
inp.style.backgroundColor = "rgb(250, 255, 250)"
...
inp.style.backgroundSize
inp.style.backgroundColor"
> JSON.parse(localStorage.consoleHistory).length
30

我怎样才能在Firefox中实现同等功能?

如果它的命令历史记录比谷歌chrome长,我不会介意。

这个温和的回答只适用于一天。又来了,谢谢@msucan!

function getWebConsolePanel(tab) {
    var gDevTools = Cu.import("resource:///modules/devtools/gDevTools.jsm", {})
.gDevTools;
    var tools = Cu.import("resource://gre/modules/devtools/Loader.jsm", {}).dev
tools;
    var target = tools.TargetFactory.forTab(tab || gBrowser.selectedTab);
    var toolbox = gDevTools.getToolbox(target);
    var panel = toolbox.getPanel("webconsole");
    return panel;
}
getWebConsolePanel();

根据@msucan的回答更新了说明

  1. 按F12打开web控制台
  2. 打开开发人员工具设置(F1)
  3. 检查";启用浏览器chrome和附加调试工具箱";以及";启用远程调试"
  4. 打开浏览器工具箱(Ctrl-Alt-Shift-I),然后单击"确定"
  5. 复制/粘贴此代码:
async function getWebConsolePanel(tab) {
  const { require } = ChromeUtils.import("resource://devtools/shared/loader/Loader.jsm");
  const devtools = require("devtools/client/framework/devtools").gDevTools;
  var toolbox = await devtools.getToolboxForTab(tab || gBrowser.selectedTab);
  var panel = toolbox.getPanel("webconsole");
  return panel;
}
  1. 然后,您可以使用
    • (await getWebConsolePanel()).hud.ui.wrapper.getStore().getState().history.entries;

(注意:需要在打开选项卡上打开web控制台)


相关链接:

gDevTools现在是一个commonjs模块。bugzilla讨论

如何从控制台面板获取历史记录

getHistoryEntries函数定义

  1. 按F12打开开发人员工具箱(例如web控制台),然后
  2. 切换到"选项"面板
  3. 启用chrome调试
  4. 打开便笺簿(Shift-F4)
  5. 复制/粘贴此代码:https://pastebin.mozilla.org/3757211
  6. 转到"环境">"浏览器"
  7. 选择"执行">"显示"或"检查"

现在,您将看到当前所选选项卡的web控制台历史记录。

最新更新