Я делаю загрузочное расширение для Firefox (на самом деле, пытаясь подключить расширение Chrome). В Chrome это было:Доступ к объектам, определенным в главном сценарии аддона, из сценариев контента и страницы в дополнениях Firefox
- Справочной страница имеет
backgroundApp
, который является экземпляром Marionette.Application и его модулей держать магистральные модели данных и сделать хранения и синхронизацию вещи. - Всплывающая страница содержит
popupApp
, которая является еще одним экземпляром Marionette. Приложение и его модули заботятся о пользовательском интерфейсе с определенными в них видами и маршрутизаторами. Для получения данных всплывающее окно использует ссылку наbackgroundApp
, доступ к которой осуществляется черезchrome.extension.getBackgroundPage()
.
Теперь мне очень трудно найти, как я могу передавать модели в код всплывающей панели в Firefox, все механизмы обмена сообщениями, с которыми я столкнулся до сих пор, принимают только данные JSONable.
Отметьте тег [tag: firefox-addon-sdk], там вы увидите, что люди делают тонну этого, его основную предпосылку большинства дополнений SDK я думаю. – Noitidart
@Noitidart, кажется, что нет никакого способа добиться этого без XPCOM (что займет несколько дней, если не больше, чтобы понять и реализовать), я прав? – stsloth
Совсем нет, это простое сообщение, передаваемое из контентной программы в родительскую песочницу. См. Этот пример: https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/panel#Scripting_panel_content 'click-link' отправляет обратно в изолированную песочницу addon, которая использует' console.log', используя система сообщений .port. – Noitidart