繁体   English   中英

从后台/内容脚本访问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函数,所以我的问题是,我可以在弹出脚本和内容脚本之间共享变量吗? 我需要双方的存储空间,没有其他方法可以使扩展正常工作。

谢谢。

您可以使用消息传递来使主要附加组件之间的内容脚本相互通信。

两种可能的方法:

  • 如果数据不是太大/不会影响太多选项卡,则提前发送数据,并在发生更新时下推更新。 这提供了卓越的读取等待时间,但潜在的代价是增加了内存占用和写入的成本。
  • 根据需要请求单个数据项。 这对于频繁写入的数据或较大的数据项更好,但代价是每个请求的等待时间更长。

您可能还想看看webextensions 那里还不支持内容存储,但将来可能会支持。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM