在 Google Chrome 开发工具中访问最后 30 个(!)javascript 控制台命令相当容易:
取消对接开发工具并按Ctrl
+Shift
+I
在其中检查 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 中做同样的事情?
我不介意它的命令历史记录比谷歌浏览器更长。
那个pastebin的答案只适用于一天。所以又来了,谢谢@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)
- 选中“启用浏览器镶边和附加调试工具箱”和“启用远程调试”
- 打开浏览器工具箱 https://firefox-source-docs.mozilla.org/devtools-user/browser_toolbox/index.html (
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;
}
- You can then access the history as an array using
(await getWebConsolePanel()).hud.ui.wrapper.getStore().getState().history.entries;
(注意:需要在打开的选项卡上打开 Web 控制台)
相关链接:
gDevTools 现在是一个 commonjs 模块 https://github.com/mozilla/gecko-dev/commit/8178c87f2be4b22efb87501e205c725f3b1fe679. bugzilla 讨论 https://bugzilla.mozilla.org/show_bug.cgi?id=1188405
如何从控制台面板获取历史记录 https://searchfox.org/mozilla-central/source/devtools/client/webconsole/test/browser/browser_jsterm_history_persist.js#29
getHistoryEntries 函数定义 https://searchfox.org/mozilla-central/source/devtools/client/webconsole/selectors/history.js#17
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)