Как сделать свой chrome extension

manifest.json должен выглядеть примерно так:

При этом:
background.js крутится всегда и один для всего браузера, умеет только слать сообщения на разные слои и слушать их.
content.js (всё, что указано в content_scripts) имеет доступ к DOM и может слушать сообщения от background.js.
popup.html открывается при нажатии на кнопку расширения в панельке, обычный html, должен содержать загрузку popup.js, который может обращаться к DOM всплывающего окна и умеет слать сообщения к background.js.

Обмен сообщений между кнопкой и фоновым скриптом:

Отправка сообщения в content.js:

Как опубликовать:
На странице https://chrome.google.com/webstore/category/apps?hl=ru нажать на колёсико в правом верхнем углу, «Панель инструментов разработчика» (попадаем на https://chrome.google.com/webstore/developer/dashboard?hl=ru). Добавить продукт.

В итоге, спустя 5 баксов, кучку времени и ошибок гугла получаем что-то вроде
https://chrome.google.com/webstore/detail/jira-print-extension/aegogmgcbaodohpidompbbmhhogmdmcl/related?hl=ru

Ссылки:
https://developer.chrome.com/extensions/samples куча простых расширений-примеров
http://code.tutsplus.com/tutorials/developing-google-chrome-extensions—net-33076 — туториал
https://developer.chrome.com/extensions/getstarted — туториал про то, как нужно работать с расширением (бюрократия)
http://stackoverflow.com/questions/11996053/detect-a-button-click-in-the-browser-action-form-of-a-google-chrome-extension — объяснение, как отслеживать события во всплывающем окне (в общем, надо слушать «DOMContentLoaded»)
http://stackoverflow.com/questions/14245334/chrome-extension-sendmessage-from-background-to-content-script-doesnt-work — объяснение, как слать сообщения в content.js
https://developer.chrome.com/webstore/publish — как опубликовать своё творение
http://www.youtube.com/watch?v=Gn_jlvkHTnM — видео о том, как опубликовать своё творение (вещает об этом очаровашка)

UPD: ещё ссылки
http://www.sitepoint.com/create-chrome-extension-10-minutes-flat/

2 Responses so far.

  1. Александр:
    Более непонятно нельзя было написать?
    • bullgare:
      Может и можно, но у меня не получилось :(
      Буду оттачивать своё мастерство непонятности, учту пожелания.

LEAVE A COMMENT