Microsoft Edge 背景.js无法打印到控制台



我正在为Edge构建一个扩展名,但是我很难调试我的背景。我根本无法将其打印到控制台上。我能够通过content.js打印以正式的件。这是一些我尝试过的console.log语句:

background.js
console.log("PLEASE PRINT");
browser.browserAction.onClicked.addListener(function(tab) {
    console.log("CLICKED BUTTON");
    browser.tabs.executeScript(null,{code:"window.print()"});
});
browser.tabs.onActivated.addListener(activeInfo => {
    console.log("onActivated listener");
});
browser.tabs.onActivated.addListener(function(activeInfo) {
    console.log("onActivated listener");
});
function printALog() {
    console.log("i pray");
}
function handleActivated(activeInfo) {
  console.log("PLEASE");
}
browser.tabs.onActivated.addListener(handleActivated);
browser.windows.onFocusedChanged.adddListener(handleActivated);
browser.webNavigation.onCompelted.addListener(handleActivated);

我是在做错事还是使用Edge的开发人员工具是不可能的?

扩展页面运行背景。JS基本上是一个特殊的独立页面。它不会与其他网页选项卡共享Windows对象和控制台输出。

在Edge中,可以通过扩展管理菜单(如Haibara AI提到的,这是链接)来检查背景页面。您将在那里看到控制台输出。

但是请注意,如果您使用subtest.json content_scripts属性将任何扩展脚本注入页面上下文(并且,如果您打算与页面内容进行交互),他们实际上会使用该页面上下文用于控制台输出。有时这很有用,但是有时您想将所有日志都放在一个地方。在这种情况下,您可以使用browser.runtime.sendMessage将调试消息发送到背景控制台,并将这些消息传递到背景页面中。

相关内容

  • 没有找到相关文章

最新更新