从 Firefox 扩展程序登录到控制台?

问题描述 投票:0回答:6

我了解,当使用 Firefox 扩展程序和

cfx run
命令时,我可以登录到控制台。

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

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

我使用的是 1.10 版本的附加 SDK 和 FF15。

firefox logging firefox-addon firebug firefox-addon-sdk
6个回答
35
投票

你需要做两件事:

  1. 启用插件日志记录

• 在 about:config 中,添加一个新选项

extensions.sdk.console.logLevel
并为其指定值“all”

• 重新启动 Firefox

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

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

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

您现在应该可以看到插件日志。


7
投票

总长:

  1. 转到
    about:config
    url 并创建密钥
    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。如果设置,这将确定日志记录级别 指定的附加组件。如果两者都存在,则这会覆盖全局首选项 首选项已设置。


2
投票

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

  1. 在about:config中,检查选项

    extensions.sdk.console.logLevel
    是否已启用。如果没有,请切换至启用。如果它不存在,您可能需要创建它

  2. 打开浏览器控制台

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

enter image description here

现在,由 Firefox 插件/扩展触发的

console.log
应该显示

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


0
投票

您是否尝试过使用Firebug

console.log()
? (我知道您已经尝试过
Application.console.log()
Firebug.console.log()

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

以下是 Firebug Wiki 本身的更多示例:FirebugWiki Console API

此外,您可以在控制台中编写不同类型的消息,例如:

console.debug()
console.info()
console.warn()
console.error()


0
投票

看来默认的调试体验有所改善。按照 Firefox 文档,无需特殊配置即可获取记录的消息:

  1. 转到
    about:debugging
  2. 单击左上角的“此 Firefox”。
  3. 单击检查您的扩展。

您将获得适用于您的扩展的完整调试器工具,包括控制台。


-1
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.