有谁知道如何在后台脚本中查看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": "testbed@example.com",
"strict_min_version": "48.0a1"
}
}
}
我也在后台脚本中试过这个:
chrome.browserAction.onClicked.addListener(function() {
console.log('Message from background.js onclicked handler');
});
我甚至已经卸载了Firebug,正如其他帖子所建议的那样,但这也没有任何区别(请注意内容脚本中的console.log
有效)。
答案 0 :(得分:5)
有关在控制台中查看扩展程序输出的更一般答案,请参阅我的答案:Google Chrome / Firefox do not see extension output in console。
您可以在Browser Console中查看后台脚本中console.log()
的输出。您可以使用键盘快捷键 Ctrl - Shift - J 或 Cmd 打开浏览器控制台 - OSX上的 Shift - J ,或者从Firefox菜单栏:Tools➞WebDeveloper➞浏览器控制台。
在大于或等于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()
的文本外,它还会在单独的行中输出:&#34;后台窗口不支持alert();请改用console.log。&#34;