如果我调用console.log('something');从弹出页面,或任何脚本,包括它的工作良好。
然而,由于后台页面不是直接运行弹出页面,它不包括在控制台。
是否有一种方法,我可以得到console.log()的后台页面显示在控制台的弹出页面?
有没有办法从后台页面调用弹出页面中的函数?
如果我调用console.log('something');从弹出页面,或任何脚本,包括它的工作良好。
然而,由于后台页面不是直接运行弹出页面,它不包括在控制台。
是否有一种方法,我可以得到console.log()的后台页面显示在控制台的弹出页面?
有没有办法从后台页面调用弹出页面中的函数?
当前回答
如果单击扩展列表中的"background.html"链接,就可以打开后台页面的控制台。
要访问对应于您的扩展的后台页面,打开Settings /extensions或打开一个新选项卡并输入chrome://extensions。你会看到类似这样的截图。
在您的扩展单击链接背景页。这将打开一个新窗口。 对于上下文菜单示例,窗口的标题为:_generated_background_page.html。
其他回答
试试这个,如果你想登录到活动页面的控制台:
chrome.tabs.executeScript({
code: 'console.log("addd")'
});
目前使用Manifest 3和service worker,你只需要进入扩展页面/详细信息,然后单击Inspect Views / service worker。
最简单的解决方案是在文件顶部添加以下代码。然后,你可以使用所有完整的Chrome控制台api,因为你会正常。
console = chrome.extension.getBackgroundPage().console;
// for instance, console.assert(1!=1) will return assertion error
// console.log("msg") ==> prints msg
// etc
要在调试chrome扩展时查看控制台,您应该使用chrome.extension. getbackgroundpage ();API,之后你可以像往常一样使用console.log():
chrome.extension.getBackgroundPage().console.log('Testing');
这是很好的,当你使用多个时间,所以你创建自定义函数:
const console = {
log: (info) => chrome.extension.getBackgroundPage().console.log(info),
};
console.log("foo");
你只在任何地方使用console.log('learnin')
如果单击扩展列表中的"background.html"链接,就可以打开后台页面的控制台。
要访问对应于您的扩展的后台页面,打开Settings /extensions或打开一个新选项卡并输入chrome://extensions。你会看到类似这样的截图。
在您的扩展单击链接背景页。这将打开一个新窗口。 对于上下文菜单示例,窗口的标题为:_generated_background_page.html。