2016-08-19 10 views
0

Мы собираемся разработать расширение Safari. У нас есть расширение Chrome.Связь ч/б файлов JavaScript через сообщение отправки/отправки в расширении сафари, например, в расширении хрома

И мы хотим объединить один и тот же код в расширении сафари, есть ли возможность сделать это.

Но согласно структуре хрома, Chrome с использованием фона Js для связи с Addon и внутренним JS. Через chrome.runtime.sendMessage. chrome.runtime.sendMessage ({ Можно ли использовать что-то вроде, что в сафари расширения, файл фона, который может обрабатывать все сообщениями

Мы можем общаться через сообщение сообщений/отправка сообщений, а?

Add-на/Global = >> Injected Script. = >> Add-on/Global File.

Но мы хотим связываться между файлами JavaScript (загружаемыми с помощью файла Global/Popover Html) через Post/Dispatch Messaging, например, в Chrome (хром. runtime.sendMessage).

Local.JS = >> BackGruound.Js = >> Loca l.JS
BackGruound.Js => Content.Js = >> global.

ответ

0

Яблоко руководство по Converting Chrome Extensions to Safari Extensions:

Если расширение Chrome используется браузер или страницы действий, элементы использование панели инструментов в Safari. Если вы использовали всплывающие окна в Chrome, используйте Popover в Safari. Если вы использовали фоновый рисунок, используйте глобальную страницу в Safari. Вы также можете изменить некоторые части пользовательского интерфейса во время выполнения - например, вы можете отключить элементы панели инструментов и добавить элементы контекстного меню.

События, которые происходят в Safari, основаны на системе событий DOM, описанной в Events Object Model Model Events и UIEvents. Чтобы настроить прослушиватель событий, вызовите метод addEventListener для объекта, который должен прослушать событие. Любой экземпляр SafariEventTarget или его подклассов может регистрировать прослушиватели событий. По соображениям безопасности вы можете отправлять сообщения только в своем собственном расширении.

API Safari разделен на две части: слой веб-контента, который проходит внутри области веб-контента, и уровень приложения, который выходит за его пределы. Для связи между сценариями, запущенными на разных уровнях, используйте сообщения. В Safari нет разницы между краткосрочными сообщениями и долгосрочными соединениями; вы используете те же методы для обоих.

Для отправки сообщений между глобальной страницей и введенными сценариями вы должны использовать Safari Messages and Proxies.