Как стать автором
Обновить

Комментарии 16

... Background-скрипт постоянно работает в фоне, слушает эти события и запускает написанные для них функции обработчики. ...

В данном случае, в свете того, что автор пишет про расширения на основе манифеста v3, автор вводит читателей в заблуждение. В расширениях, на основе манифеста v3, Background скрипт реализует service worker, который не висит постоянно в фоне, а запускается браузером только при необходимости задействовать функционал описанный в данном service worker .

Этот метод призван свести к необходимому минимуму, неоправданное задействование расширением ресурсов ПК, в период отсутствия необходимости в функционале расширения.

(господи, что ж у вас с кармой-то. Внесла свою лепту, но что я могу против общества)

а что там было? я ничего необычного не заметил, но вслед за всеми — подкинул, благо статья интересная.
надеюсь ваше сообщение не манипулятивная практика :)

Блин, ну надо же ! Только что матерно ругаясь в очередной раз отключил FriGate и задумался о написании собственного антиблокировщика. А тут статья о расширениях на любимом хабре ! Наверно это Судьба... Спасибо !!!

Спасибо!

Эта статья для совсем начинающих и прочитав только ее, такое расширение вы врядле сразу напишите. Однако идея интересная. Возможно сделаю статью о создании расширения такого типа в дальнейшем.

Также будет замечательно если вы что-нибудь напишите, когда добъетесь результатов.

Да, расширений я ещё не писал. Но получать на халяву списки прокси (а именно они нужны будут для антиблокировщика) умею. Правда писал это на питоне, а не на джаваскрипте. Плюс пишу плагины для eclipse под все свои нужды, если нет готового. Так что не совсем уж я и начинающий. Сейчас немного раскидаю дела по работе и займусь этим. А то FriGate уже реально достал !!! Шлёт какую-то фигню, из-за которой его ютуб банит, и не только ютуб. А другие антиблокировщики по сравнению с ним не тянут. Чувствую нужно иметь свой.

Можно ли в расширение подключить сторонние библиотеки?

Да можно, как в обычном web-приложении. Добавляйте их в главную html-страницу расширения, например так: <script src="jquery.min.js"></script>.

Расширение, запускаемое в браузере или публикуемое в Chrome Store должно содержать только Javascript, поэтому Typescript нужно сначала компилировать в JavaScript. Соответственно, в manifest.json и в HTML-страницах расширения указываются js-файлы. Это так же, как создавать обычное web-приложение на Typescript: пишите .ts, -> компилируете в .js -> запускаете в браузере.

Есть шаблон расширения браузера на TypeScript, автоматизирующий эту сборку:

https://github.com/chibat/chrome-extension-typescript-starter

Как показывает практика, если Вы планируете публикацию расширения для Chrome или EDGE лучшей практикой будет отказаться от каких либо трансляторов, сборщиков типа Webpack или даже минификаторов. Связанно это с тем, что при наличии некоторых разрешений (в частности scripting) в целях безопастности, модерация расширений проходит в ручном режиме, а при наличии нечитаемого кода, проверяющий может просто завернуть проверку без объяснения причины. Кстати в EDGE сторе там присылают отчет на этот случай, в гугле просто оклонение и ссылка на свод правил.

Использование TypeScript, Vue, React и Webpack для сборки никак не влияют на отказ в публикации. Главное, в таком случае - это корректно описать команды для сборки проекта, чтобы проверяющим вручную не пришлось думать самостоятельно (как раз из-за отсутствия корректно плана сборки чаще всего и заворачивают "без объяснения причин", но никак не из-за использования TS или Webpack)

Обратите внимание, что в данном случае не требовалось нажимать кнопку Reload, для того чтобы обновить расширение. При изменении любых файлов кроме manifest.json изменения применяются автоматически.

Это не так. Если изменились файлы стилей или скриптов, внедряемые через секцию content_scripts в манифесте, то нужно нажимать Reload.

Спасибо, исправил.

Привет. Подскажите как не устанавливая в хром, запустить расширение? Просто меня попросили одно расширение скачать с гитхаба и русифицировать, ставить каждый раз в браузер свой и удалять, исправлять перевод и так по кругу, это тупо. Заранее спасибо!

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории