通过注入脚本访问内容脚本

Access content script by injected script

我有一个内容脚本,我在其中定义了一个小任务 api,我想通过 browser.tabs 注入的脚本访问这个 api(命名空间);执行脚本()。例如:

//contentScript.js
const api = new (function () {
     this.doSomething()
})();


// injectedScript

console.log (api.doSomething ())

有可能吗?如果是,如何?

我正在尝试执行此操作,但收到 RefereceError。 content script 和被注入的脚本,被content scripts 文档考虑,为什么他们看不到对方?

谢谢

您的内容脚本中的符号 api 是一个常量,在该特定脚本之外是不可见的。同一个全局中的两个脚本 运行 所以 var api = ... 或简单的 function api() { ... } 应该可以工作。