17

我知道在使用带有cfx run命令的 Firefox 扩展时我可以登录到控制台。

扩展打包后有没有办法登录到控制台cfx xpi?如果可能的话,登录到 Firebug 是可以的。

我找到了两篇关于这个的博客文章(这里这里)。两者都相当老了,不再工作了。

我正在使用 1.10 版的附加 SDK 和 FF15。

4

5 回答 5

28

你需要做两件事:

  1. 为插件启用日志记录

• 在 about:config 中,添加一个新选项extensions.sdk.console.logLevel并将其赋值为“all”

• 重新启动 Firefox

  1. 在 Firefox 中打开浏览器控制台

• 工具 -> Web 开发人员 -> 浏览器控制台

• 注意:这与用于调试网页的常用 Web 控制台不同

您现在应该在那里看到插件日志。

于 2014-06-08T09:55:14.433 回答
5

TLDR:

  1. 转到about:configurl 并创建 extensions.sdk.console.logLevel具有值的键all
  2. 在浏览器控制台(Ctrl+Shift+J) 或您启动 Firefox 的终端中查看日志消息。

cfx或其继任者jpm在开发 Firefox 配置文件中自动创建此配置密钥。

日志记录文档

extensions.sdk.console.logLevel:如果设置,这将确定所有已安装的基于 SDK 的附加组件的日志记录级别。

extensions.extensionID.sdk.console.logLevel,其中 extensionID 是附加组件的程序 ID。如果设置,这将确定指定附加组件的日志记录级别。如果设置了两个首选项,这将覆盖全局首选项。

于 2015-05-22T01:35:57.130 回答
2

您是否尝试过console.log()使用 Firebug?(我知道你已经尝试过Application.console.log()Firebug.console.log()

我刚刚在运行 Firebug 1.10.4 的 FF16 上的 Web 控制台中尝试过它,它似乎可以工作:Firefox 网页控制台

以下是 Firebug Wiki 本身的更多示例:FirebugWiki 控制台 API

此外,您还可以在控制台中编写不同类型的消息,例如:console.debug()console.info()console.warn()console.error()

于 2012-10-15T11:41:33.303 回答
2

我将总结自发布此问题以来 Firefox 发生的最新变化——基本上更新了@LucaBonavita 的答案。

  1. 在 about:config 中,检查选项extensions.sdk.console.logLevel是否已启用。如果没有,请切换为启用。如果它不存在,您可能需要创建它

  2. 打开浏览器控制台

  • 菜单栏 -> 工具 -> 浏览器工具 -> 浏览器控制台
  • Show Content Messages在浏览器控制台中启用。

在此处输入图像描述

现在,console.log由 Firefox 插件/扩展触发的应该会显示

在 Firefox 94.0.2(64 位)和 95.0b12(64 位)上测试

于 2021-12-03T03:04:05.390 回答
-1

如果您从附加代码运行 console.log,它会在错误控制台窗口的“消息”选项卡中发送:

https://www.evernote.com/shard/s1/sh/c40c509d-9f14-4103-920b-4186a426226c/53572f96a3bbe0462103a8126b8e9822/res/fcbead60-d9d0-48be-b744-3fa6701fdf1b/skitch.png

于 2012-10-16T00:19:22.307 回答