Расширения Chrome помогают разработчикам добавлять функциональные возможности в Google Chrome и просматриваемые в нем веб-сайты. Расширения отличаются от chrome-app и плагинов. Расширения могут иметь мало компонентов пользовательского интерфейса или вообще не иметь их, когда приложение Chrome работает как автономный веб-сайт, а подключаемые модули предоставляют новые функции, обеспечивая поддержку определенных типов мультимедиа для браузеров.

Вы можете просмотреть расширения, набрав chrome://extensions в chrome или в chrome-webstore.

Только вам нужно знание HTML, CSS и JavaScript для разработки chrome-расширения. Файл JSON с именем manifest.json используется для создания и включения всех сведений о расширении chrome, и он используется хромом.

Расширения Chrome используют chrome-API для обмена сообщениями, обработки событий веб-страницы, прослушивания событий панели поиска Chrome и т. д. Расширения работают в изолированной среде в Chrome, поэтому расширения не могут знать о других расширениях. .

Строительные блоки chrome-extension

файл manifest.json

Это самый важный файл chrome-extension. Он используется Chrome и включает в себя все о расширении, например имя, версию, необходимые разрешения, используемые им сценарии и т. д.

сценарии

Есть три типа скриптов, которые используются chrome-расширением в разных сценариях.

  1. Скрипт событий, который может прослушивать все события, происходящие в браузере, такие как открытие новой вкладки, создание закладки, посещение страницы и т. д., и выполнять над ними действия. У него есть доступ к богатому API Chrome, и он может взаимодействовать с другими скриптами, используя API обмена сообщениями.
  2. Сценарий содержимого активируется и встраивается в посещаемую веб-страницу. У них есть доступ ко всему API javascript, и он может прослушивать события страницы DOM и изменять представления страниц, получая доступ к элементам DOM.
  3. Сценарий всплывающего окна связан с всплывающим окном, которое активируется, когда кто-то открывает его, щелкнув значок расширения в браузере.

компоненты

В Chrome Extensions доступно два типа компонентов, они всегда расположены справа от адресной строки.

  1. компоненты Browser-Action, которые доступны глобально в Chrome и могут использоваться на любой веб-странице.
  2. Компоненты Page-Action, которые становятся доступными при посещении определенной страницы браузером Chrome.
  3. Компоненты сочетаний клавиш, которые активируются при нажатии настроенных сочетаний клавиш.
  4. Омнибокс ввода позволяет нам выполнять поиск непосредственно в адресной строке Google Chrome, вводя ключевое слово и строку поиска, а затем .
  5. Контекстное меню позволяет нам добавлять элементы в меню, отображаемое, когда вы выделяете какой-либо текст в браузере и щелкаете его правой кнопкой мыши.
  6. Компонент Content UI предоставляет средства для создания HTML-компонентов и внедрения их непосредственно в веб-страницы.

Вышеупомянутые компоненты доступны внутри Chrome с помощью chrome.browserAction, chrome.pageAction, chrome.commands, chrome.omnibox, chrome.contextMenus и т. д.

API расширений Chrome

Chrome предоставляет расширения со многими API специального назначения, которые позволяют вам получить доступ к удивительным функциям браузера Chrome. Эти API обеспечивают доступ практически ко всем функциям, доступным в браузере Chrome.

API расширений Chrome предоставляет доступ к сигналам тревоги, загрузкам, истории, уведомлениям, хранилищу, вкладкам и т. д.

Добавление к компонентам Chrome contentSettings, cookies, desktopCapture, extension, management, system.cpu, system.memory, интернет-магазин, windows и т. д. помогает разработчикам разрабатывать расширения для различных целей.

Чтобы использовать вышеуказанный API в расширении, необходимо определить их в файле manifest.json. Он имеет специальный атрибут под названием «разрешения» с массивом разрешений, которые использует расширение.

Если расширение отправляет запросы XHR к внешнему приложению, также необходимо определить этот URL-адрес в массиве разрешений файла manifest.json.

Определение разрешений в файле manifest.json предоставляет пользователю необходимую информацию и помогает расширению восстанавливаться после сбоев.

API обмена сообщениями

Взаимодействие со сценариями, компонентами и внешними веб-приложениями — важные вещи, с которыми расширения должны эффективно справляться.

Например, когда срабатывает будильник, event_script должен связаться с popup_script, чтобы показать что-то во всплывающем окне. Content_script должен связываться с event_script или popup_script по нажатию кнопки на веб-странице.

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

Используя API обмена сообщениями, webpage_script также может отправлять сообщения в event_script.

Подробнее о расширениях

Разработчики могут получить доступ ко всему в Chrome через расширения.

Вы можете разработать такое расширение, которое будет показывать новые обои каждый раз при создании новой вкладки. Для этого вам просто нужно определить одну HTML-страницу в файле manifest.json, которая извлекает новые изображения каждый раз при создании новой вкладки. вы можете сделать то же самое для закладок, страниц истории.

Разработка темы аналогична разработке расширения для Chrome, она содержит атрибут theme файла manifest.json.

При разработке расширения или темы полезно позаботиться о безопасности. Безопасность при определении разрешений, доступе к истории, вкладкам и т. д.