Javascript Firefox插件从后台/内容脚本访问弹出脚本?

Javascript Firefox插件从后台/内容脚本访问弹出脚本?,javascript,google-chrome,firefox,google-chrome-extension,firefox-addon,Javascript,Google Chrome,Firefox,Google Chrome Extension,Firefox Addon,我正在将我的Chrome扩展转换成Firefox扩展。不过我有个问题 我的扩展需要存储数据,以便在内容脚本和弹出页面中加载扩展。我在我的Chrome扩展中没有这个问题。我只需要使用chrome.storage来传递和检索存储,我可以轻松地在我的内容和弹出脚本中使用它 有了Firefox,我很难弄清楚我到底需要做些什么。我知道我不能使用chrome.storage,而是使用 const storage=require(“sdk/简单存储”)。存储 但是我需要在内容脚本和弹出页面的脚本中使用它。我研

我正在将我的Chrome扩展转换成Firefox扩展。不过我有个问题

我的扩展需要存储数据,以便在内容脚本和弹出页面中加载扩展。我在我的Chrome扩展中没有这个问题。我只需要使用
chrome.storage
来传递和检索存储,我可以轻松地在我的内容和弹出脚本中使用它

有了Firefox,我很难弄清楚我到底需要做些什么。我知道我不能使用chrome.storage,而是使用

const storage=require(“sdk/简单存储”)。存储

但是我需要在内容脚本和弹出页面的脚本中使用它。我研究发现我不能多次使用require函数,所以我的问题是,我能在弹出脚本和内容脚本之间共享变量吗?我需要两边的存储空间,我看不到任何其他方法可以让扩展工作


谢谢。

您可以使用消息传递让主加载项的内容脚本相互通信

两种可能的方法:

  • 如果数据不太大/不会影响太多选项卡,请提前发送数据,并在更新时按下按钮。这提供了优越的读取延迟,但可能会增加内存占用和写入成本
  • 按需请求单个数据项。这对于频繁写入的数据项或大型数据项更好,但每个请求的延迟更高

你可能还想看看。内容中的存储也不受支持,但将来可能会支持。

您可以使用消息传递让主加载项的内容脚本相互通信

两种可能的方法:

  • 如果数据不太大/不会影响太多选项卡,请提前发送数据,并在更新时按下按钮。这提供了优越的读取延迟,但可能会增加内存占用和写入成本
  • 按需请求单个数据项。这对于频繁写入的数据项或大型数据项更好,但每个请求的延迟更高

你可能还想看看。内容中的存储也还不受支持,但将来可能会支持。

我的扩展使用的唯一api是存储:(但如果您所说的意思是我可以将一个变量以及我需要的所有数据从弹出脚本传递到内容脚本,那么这就是我所需要的。我的扩展使用的唯一api是存储:(但是如果你说的意思是我可以将一个变量以及我需要的所有数据从弹出脚本传递到内容脚本,那么这就是我所需要的。