javascript - Chrome 扩展导入/导出
问题描述
我在尝试使用 Chrome 扩展程序将函数从一个文件导入/导出到另一个文件时失败了。我的问题如下:
我有一个从 manifest.js 文件作为内容脚本加载的脚本。该脚本的名称是script.js。在那个脚本中,我有这样的代码来检测我打开的网页的 URL(为了启动我的扩展程序):
chrome.runtime.sendMessage({ command: 'currentTab' }, (tab) => { console.log('We're in.') });
此外,在同一个脚本中,我有一个附加两个脚本的函数,我将它们用作模块,因为它们具有导出/导入功能。它们是:core.js和utils.js。功能是:
injectScript('extension.../modules/core.js');
injectScript('extension.../modules/utils.js');
function injectScript(scriptURL) {
const script = document.createElement('script');
script.setAttribute('type', 'module');
script.setAttribute('src', scriptURL);
const head = document.head || document.getElementsByTagName('head')[0] || document.documentElement;
head.insertBefore(script, head.lastChild);
}
因此,第一个script.js向 background.js 脚本发送一条消息,以检查选项卡 URL,如果一切正确,我将作为模块插入另外两个脚本。
现在,当我检测到网站的 URL 正常时,我想从这个主script.js执行一个函数 start() (在core.js中) ,以便执行core.js中使用导入函数的所有内容来自utils.js。
我还检测到,如果我用script.js注入我的utils.js ,它也会通过 manifest.json 注入它。伙计们,我真的被困在这里了。你能帮我处理一下这团意大利面吗?
谢谢!
解决方案
推荐阅读
- puppeteer - 如何 page.click 动态列表中具有给定值的元素
- javascript - 实时服务器和本地主机上的 Date().toLocaleString() 输出格式不同
- javascript - rxjs 传递 forkjoin 一个函数,该函数返回一个可观察的数组
- python-asyncio - 如何将数据传递给合作的 aysncio 协程?
- python - 离散 Kolmogorov-Smirnov 测试:与纯 R 相比,使用 rpy2 时得到错误值
- javascript - 为什么我在运行我的函数后得到 NaN?
- android - 如何创建一个颤振插件,在触发后台服务事件时从关闭状态打开应用程序
- scala - 如何在scala列表中找到多个最大参数
- r - dplyr 加权平均值产生长度误差......如何总结加权平均值?
- pandas - 来自不同长度值的字典的熊猫数据框