我为Firefox启动引导扩展(实际上,尝试移植工作的Chrome扩展)。 在Chrome中是:从Firefox插件中的内容和页面脚本访问在主插件脚本中定义的对象
- 背景网页持有
backgroundApp
这是Marionette.Application的实例及其模块保存数据的骨干机型,做存储和同步的东西。 - Popup页面包含
popupApp
这是Marionette.Application的另一个实例,它的模块负责处理在UI中定义的视图和路由器。要获取数据,弹出使用的引用,通过chrome.extension.getBackgroundPage()
访问。
现在我很难找到如何将模型传递给Firefox中的弹出面板代码,到目前为止我所遇到的所有消息传递机制都只带有JSONable数据。
查看[tag:firefox-addon-sdk]标签,你会看到人们做了很多这样的事情,它是我认为的大部分SDK插件的基本前提。 – Noitidart
@Noitidart,如果没有XPCOM(如果不是更多,需要花费数天才能理解和实现),似乎没有办法实现这一点,我正确吗? – stsloth
完全没有,这是从contentScript传递给父沙箱的简单消息。看到这个例子:https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/panel#Scripting_panel_content'click-link'发送回使用'console.log'的插件沙箱'.port'消息系统。 – Noitidart