我如何在Firefox WebExtension中查看后台脚本的console.log输出?

格雷厄姆

有谁知道如何console.log()在后台脚本中查看呼叫的输出我可以在内容脚本中看到相同的输出。这是一个用于测试的简单脚本:

这是我的background.js

console.log("Message from background.js");

这是我的manifest.json

{
    "name": "TestBed",
    "manifest_version": 2,
    "version": "1.0",

    "background": {
        "scripts": ["background.js"]
    },

    "browser_action": {
        "default_title": "Click"
    },

    "applications": {
        "gecko": {
            "id": "[email protected]",
            "strict_min_version": "48.0a1"
        }
    }
}

我也在后台脚本中尝试过此操作:

chrome.browserAction.onClicked.addListener(function() {
    console.log('Message from background.js onclicked handler');
});

正如一些其他帖子所建议的,我什至还卸载了Firebug,但这也没有什么不同(请注意console.login content脚本有效)。

麦延

有关在控制台中看到扩展程序输出的更一般的答案,请参见以下答案:Google Chrome / Firefox在控制台中看不到扩展程序输出

附加调试器

这是您应该用来查看WebExtension的后台上下文中运行的脚本的控制台输出的方法。这包括后台脚本,在弹出窗口中运行的脚本,选项页面以及从扩展名加载的任何其他页面,作为选项卡或iframe的主要URL。您可以通过about:debugging➞Inspect访问附加调试器(使用与要调试的WebExtension关联的“ Inspect”按钮;每个扩展都有单独的按钮)。这将使用调试器打开一个新选项卡。然后,您可以单击该浏览器选项卡中的“控制台”选项卡。该控制台将仅显示您正在检查的WebExtension中的内容。

浏览器控制台

默认情况下,浏览器控制台不再显示WebExtensions后台页面输出通过选择显示“显示内容消息”,可以使其显示所有WebExtensions的输出,当您单击窗口右上角的齿轮状符号“⚙️”时,打开的弹出窗口中会显示该消息, “请求”的权利。

您可以console.log()浏览器控制台中查看后台脚本的输出您可以通过使用键盘快捷方式打开浏览器控制台,Ctrl- Shift-JCmd- Shift-J在OSX上,还是从Firefox菜单栏:Tools➞WebDeveloper➞Browser控制台。

在大于或等于49的版本中测试WebExtensions时,1我通常会滥用功能以导致扩展程序打开浏览器控制台。alert()后台脚本不支持功能,但是它将打开浏览器控制台并在控制台中输出警报文本。2这样做可以在大于或等于49.0的Firefox版本中使用。但是,它在Firefox的早期版本中引发错误。

为了进行测试,我经常在后台脚本中添加以下内容:

//* For testing, open the Browser Console
try {
    //alert() is not actually supported in Firefox WebExtension background scripts.
    //This forces the Browser Console open.
    //This abuse of a misfeature works in FF49.0b+, not in FF48.
    alert('Open the Browser Console.');
} catch(e) {
    //alert() throws an error in Firefox versions below 49.
    console.log('alert() threw an error. Probably Firefox version < 49.');
}
//*

  1. 在Firefox 52.0a2(开发人员版)和53.0a1(晚上)中,有一段时间,它会抛出一个神秘的错误。在这些版本的最新版本中,此功能已返回到Firefox 49中的功能:打开浏览器控制台,并在2(下方)中显示传递的文本和消息。
  2. 除了传递到的文本外alert(),它还将在单独的行上输出:“后台窗口不支持alert();请改用console.log。”

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Azure应用服务应用中查看console.log()输出

如何在警报中显示 console.log 输出

如何在 url 中输出 console.log

运行Jasmine测试时如何查看`console.log`的输出

如何从eval()获取console.log输出?

使用Nginx + Passenger时如何查看Node Express应用程序中的console.log输出

如何查看电容器 v3 实时重新加载中的 console.log 输出

如何在Windows上刷新console.log输出

如何通过git log在Git Bash中输出输出?

如何更改 VSCode 中的 console.log() 输出?

如何在Mochawesome HTML报告中查看cy.log()输出

如何在Visual Studio Code for HTML中显示console.log输出?

如何在带引号的console.log中显示字符串输出?

我如何在github中查看.rmd的输出?

运行 NestJS 应用程序时如何查看 console.log 输出?

您如何看待Amazon Lambda函数的console.log输出

Object.entries() 如何工作?意外的 console.log 输出

当它是HTML文件时,如何从console.log获取输出

如何从jar文件中获取log4j输出

如何在节点中使用exec输出实时live console.log

如何在/var/log/dpkg.log中搜索每月的完整/升级日志并输出到文本文件

如何在Firefox WebExtension的后台脚本中导入/使用外部JavaScript文件?

当minifyenabled在Android中为true时,如何在发布apk后关闭log cat输出

如何在xunit2中捕获log4net输出

如何在android Log类中增加控制台输出

如何在Log-stash HTTP输出中映射嵌套的JSON

如何从log4j RollingFileAppender中的Java中启动的Shell脚本输出日志?

如何通过无头Chrome Runtime.evaluate在终端中获取console.log输出

我可以将输出从C DLL重定向到我的C#log4net输出中