有谁知道如何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.log
in content脚本有效)。
有关在控制台中看到扩展程序输出的更一般的答案,请参见以下答案:Google Chrome / Firefox在控制台中看不到扩展程序输出。
这是您应该用来查看WebExtension的后台上下文中运行的脚本的控制台输出的方法。这包括后台脚本,在弹出窗口中运行的脚本,选项页面以及从扩展名加载的任何其他页面,作为选项卡或iframe的主要URL。您可以通过about:debugging
➞Inspect访问附加调试器(使用与要调试的WebExtension关联的“ Inspect”按钮;每个扩展都有单独的按钮)。这将使用调试器打开一个新选项卡。然后,您可以单击该浏览器选项卡中的“控制台”选项卡。该控制台将仅显示您正在检查的WebExtension中的内容。
默认情况下,浏览器控制台不再显示WebExtensions后台页面的输出。通过选择显示“显示内容消息”,可以使其显示所有WebExtensions的输出,当您单击窗口右上角的齿轮状符号“⚙️”时,打开的弹出窗口中会显示该消息, “请求”的权利。
您可以console.log()
在浏览器控制台中查看后台脚本的输出。您可以通过使用键盘快捷方式打开浏览器控制台,Ctrl- Shift-J或Cmd- 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.');
}
//*
alert()
,它还将在单独的行上输出:“后台窗口不支持alert();请改用console.log。”本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句