在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的回答更新了说明
- 按F12打开web控制台
- 打开开发人员工具设置(F1)
- 检查";启用浏览器chrome和附加调试工具箱";以及";启用远程调试"
- 打开浏览器工具箱(
Ctrl-Alt-Shift-I
),然后单击"确定" - 复制/粘贴此代码:
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;
}
- 然后,您可以使用
(await getWebConsolePanel()).hud.ui.wrapper.getStore().getState().history.entries;
(注意:需要在打开选项卡上打开web控制台)
相关链接:
gDevTools现在是一个commonjs模块。bugzilla讨论
如何从控制台面板获取历史记录
getHistoryEntries函数定义
- 按F12打开开发人员工具箱(例如web控制台),然后
- 切换到"选项"面板
- 启用chrome调试
- 打开便笺簿(Shift-F4)
- 复制/粘贴此代码:https://pastebin.mozilla.org/3757211
- 转到"环境">"浏览器"
- 选择"执行">"显示"或"检查"
现在,您将看到当前所选选项卡的web控制台历史记录。