在chrome扩展中调试注入脚本

zdwk9cvp  于 2023-02-06  发布在  Go
关注(0)|答案(1)|浏览(167)

假设我有以下代码:
在我content-script.js:

const script = document.createElement('script');

script.setAttribute("type", "application/javascript");
script.src = chrome.runtime.getURL('inject.js');
(document.head || document.documentElement).appendChild(script);

然后在我的inject.js

window.addEventListener('message', (event) => {
    console.log(event)
}

这不会向控制台打印任何内容。现在我知道注入脚本正在工作,就像我从它打开弹出窗口时一样,它按预期工作。我如何开始调试注入脚本?我在哪里可以看到它的stdout?

vulvrdjw

vulvrdjw1#

以这种方式注入的脚本的输出应该正常地显示在开发工具控制台中。如果不是,则需要检查控制台上方的“仅选定上下文”选项,如果选中该选项,则会限制显示输出的上下文。

当然,另一种可能性是页面上没有触发消息事件--您可以将console.log替换为警报之类的内容,以确认是否是这种情况。
最后一件值得检查的事情--确保脚本在web_accessible_resources manifest键下公开。否则,脚本将无法加载:https://developer.chrome.com/docs/extensions/mv3/manifest/web_accessible_resources/

相关问题