首页 > 解决方案 > 通过注入脚本访问内容脚本

问题描述

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

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


// injectedScript

console.log (api.doSomething ())

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

我正在尝试这样做,并且收到了一个RefereceError。作为内容脚本和注入的脚本,由内容脚本文档考虑,为什么它们看不到对方?

谢谢

标签: google-chrome-extensionfirefox-addon-webextensions

解决方案


内容脚本中的符号api是 const,在该特定脚本之外不可见。这两个脚本在同一个全局中运行,因此var api = ...或者function api() { ... }应该可以正常工作。


推荐阅读