Можно ли преобразовать расширение Google Chrome в расширение браузера Firefox или Safari?
Конвертировать расширение Google Chrome в Firefox или расширение Safari
Ответ 1
Оба дополнения Chrome и Firefox в основном основаны на ядре JavaScript, но Firefox по своей конструкции гораздо более расширяемый. Механизм Gecko и XUL (язык интерфейса пользователя Mozilla XML) обеспечивают гораздо большую степень свободы в том, что вы можете делать с вашим расширением, в то время как Chrome (и WebKit) пытаются изолировать работу своих "приложений".
Итак, да, расширение Chrome может быть почти наверняка внесено в расширение Firefox, если Firefox предоставляет API для всего, что вы пытаетесь сделать. Просто замените содержание, специфичное для SDK для Chrome DevTools, на Firefox Jetpack для содержимого, специфичного для SDK (например, системные вызовы или что-то еще, что вы делаете в своем расширение).
Противоположность, с другой стороны, не всегда верна. В зависимости от функциональности расширения Firefox он не всегда может быть преобразован для работы в Chrome.
Ответ 2
Я создал Chrome Api для Safari и Firefox. Я преобразовал довольно большое расширение в Safari и Firefox, используя эти API перевода. Я видел, что многие люди спрашивают о возможностях для конвертирования расширений между браузерами, и я надеюсь, что кто-то может помочь мне дополнить API несколькими методами и бегун для автоматизации преобразования. В настоящее время необходимо выполнить ручную работу.
https://github.com/kritollm/chrome-extension-api-for-safari-and-firefox
После того, как я впервые написал этот пост, я знал о двух других проектах, которые очень похожи.
https://code.google.com/p/adblockforchrome/source/browse/trunk/port.js и
Ответ 3
Mozilla работает над своим API WebExtensions. Говорят, что с API надстройки портирования в и из других браузеров должно быть проще.
Ответ 4
На GitHub активно поддерживается проект, позволяющий использовать API расширений Chrome для написания расширений Safari, см. https://github.com/avast/topee.
Хотя Google Chrome, Firefox и Edge используют один и тот же API расширений, расширения Safari движутся в другом направлении, требуя от разработчиков использовать другой набор API и частично также Swift вместо JavaScript.
Проект Topee предоставляет API расширений Google Chrome для Safari, что позволяет запускать единую кодовую базу во всех браузерах.
API достаточно полный, чтобы работать в рабочей среде, например расширение, поставляемое с паролями Avast для Mac.