Межстраничное общение в расширении Firefox
У меня есть две вкладки, которые использует мое расширение, и я хотел передавать события назад и вперед между ними. Я уже разработал расширение Google Chrome, которое делает это через API фоновой страницы, но в Firefox, похоже, нет аналога.
Я думал, что менеджер сообщений в документах по расширению Firefox справится с этой задачей, но документация по объекту довольно скудная.
Я был бы так же рад использовать одну из вкладок для управления другой, если не могу напрямую импортировать идеи фоновой страницы из API Google Chrome.
Любая помощь / руководство было бы здорово.
1 ответ
Для этого вам нужно настроить конвейер событий в main.js, который принимает события из скрипта контента одной страницы и передает его скрипту контента другой страницы:
https://addons.mozilla.org/en-US/developers/docs/sdk/1.7/dev-guide/guides/content-scripts/index.html
Я не совсем уверен, каков ваш вариант использования, поэтому трудно рекомендовать более конкретные методы. Что бы вы сделали, это:
- убедитесь, что к каждой вкладке прикреплен скрипт содержимого
- когда данное событие происходит на вкладке, отправьте это событие в main.js, используя self.port.emit
- когда это событие достигает main.js, отправьте его работнику для другой вкладки.
Одна вещь, которая мне не ясна, это то, будут ли эти 2 вкладки единственными вкладками, открытыми с этим конкретным URL?