我爲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