Firefox加载项从后台/内容脚本访问弹出脚本
Firefox add-on access popup script from background/content script?
我正在将Chrome扩展转换为Firefox扩展。不过我有个问题。
我的扩展需要存储数据,以便在内容脚本和弹出页面中加载扩展。我在Chrome扩展中对此没有问题。我只使用chrome.storage
来传递和检索存储,我可以在内容和弹出脚本中轻松使用它。
使用Firefox,我很难弄清楚我必须做些什么。我知道我不能使用chrome.storage
,而是使用
const storage = require("sdk/simple-storage").storage;
事情,但我需要在内容脚本和弹出页面的脚本中都使用它。我研究发现,我不能多次使用require函数,所以我的问题是,我能在弹出脚本和内容脚本之间共享变量吗?我需要两边的存储空间,我看不到任何其他方法可以使扩展工作。
谢谢。
您使用消息传递让内容脚本和主插件相互通信。
两种可能的方法:
- 如果数据不太大/不会影响太多选项卡,请提前发送数据,并在更新发生时向下推送。这以增加内存占用和增加写入成本为潜在代价,提供了卓越的读取延迟
- 根据需要请求单个数据项。这对于频繁写入或大型数据项更好,但代价是每个请求的延迟更高
你可能还想看看网络扩展。那里也不支持内容存储,但将来可能会支持。
相关文章:
- Java脚本访问Location标头's OAuth 2的URL片段
- 如何通过脚本访问用户控制值
- 脚本 5:访问被拒绝 ie8.在 IE11 中使用 IE8 模拟器
- 脚本访问内联javascript变量
- 使用Java脚本访问多个Google日历-Google日历API
- 浏览器化:从脚本访问 dom 元素
- 通过 Chrome 扩展程序中的内容脚本访问本地存储
- 如何从内容脚本访问活动选项卡的事件处理程序
- 有没有办法从node中的脚本访问调试信息.js和/或一般的javascript
- 无法使用 HTML 中的 Java 脚本访问.csv文件
- 如何从导入的 html 中的脚本访问导入的 html 的元素
- 咖啡脚本访问输入值
- 从 chrome 扩展程序中的内容脚本访问全局对象
- Firefox加载项从后台/内容脚本访问弹出脚本
- 如何从Azure Javascript应用程序服务中的脚本访问表
- 如何在没有服务器端脚本访问的情况下进行实时更新网页
- CKEditor:从外部脚本访问insertHtml()方法
- 使用java脚本访问DVD驱动器等硬件的最佳方式是什么
- Angular 2+SignalR-从外部脚本访问Angular内部
- 使用脚本加载程序注入的脚本访问全局变量