Платформа расширения Safari явно не поддерживает передачу сообщений между расширениями. Я ищу работающий хак, чтобы обойти это, не сообщая странице о том, что расширения запущены.
Предложения (не проверено):
Одно расширение открывает скрытую вкладку для канала about:blank#extension-channel с помощью openTab(). Другой ищет эту вкладку по URL-адресу и находит ее. Они производят и потребляют элементы на этой странице для общения.
Если расширения могут считывать файлы cookie из разных доменов, одно из них устанавливает файл cookie со случайным идентификатором на extension-homepage.com, а другое считывает его. Затем они создают DOM-события с именем
extension-message-[the random ID]
", поэтому страница не может их прослушивать.Попросите разработчиков Safari добавить onRequestExternal в их API;)
Можете ли вы придумать другой подход? У вас получилось что-то из вышеперечисленного?