После прочтения раздела «Начало работы» используйте это руководство как обзор компонентов расширения, их возможностей и способов их комбинирования. Сначала ознакомьтесь с возможностями расширений: Затем узнайте, как объединить эти функции, используя раздел основных концепций расширений.

Проектирование пользовательского интерфейса

Для работы большинства расширений требуется взаимодействие с пользователем. Платформа расширений предоставляет различные способы добавления интерактивных элементов в ваше расширение. Эти методы включают всплывающие окна, активируемые с панели инструментов Chrome, боковых панелей, контекстных меню и других элементов.
Используйте API chrome.sidePanel для размещения контента на боковой панели браузера рядом с основным содержимым веб-страницы. ,Используйте API chrome.sidePanel для размещения содержимого на боковой панели браузера рядом с основным содержимым веб-страницы.
Управляйте отображением значка расширения на панели инструментов.
Добавьте элементы в контекстное меню Google Chrome.

Управление браузером

API-интерфейсы расширений Chrome позволяют изменить способ работы вашего браузера.
Переопределение настроек – это способ расширений переопределить выбранные настройки Chrome. Кроме того, расширения могут использовать страницы переопределения HTML для замены страницы, которую обычно предоставляет Google Chrome. Расширение может переопределить диспетчер закладок, вкладку истории или новую вкладку.
Расширения DevTools добавляют функциональность Chrome DevTools путем доступа к API расширений, специфичных для DevTools, через страницу DevTools, добавленную в расширение. Вы также можете использовать API chrome.debugger для вызова протокола удаленной отладки Chrome. Прикрепите к одной или нескольким вкладкам для управления сетевым взаимодействием, отладки JavaScript, изменения DOM и многого другого. Расширения DevTools добавляют функциональность Chrome DevTools путем доступа к API расширений, специфичных для DevTools, через страницу DevTools, добавленную в расширение. Вы также можете использовать API chrome.debugger для вызова протокола удаленной отладки Chrome. Прикрепите к одной или нескольким вкладкам для управления сетевым взаимодействием, отладки JavaScript, изменения DOM и многого другого.
API chrome.notifications позволяет создавать уведомления с использованием шаблонов и показывать эти уведомления пользователям на панели задач пользователя.
Используйте API chrome.history для взаимодействия с записями браузера о посещенных страницах и API chrome.browsingData для управления другими данными просмотра. Используйте chrome.topSites для доступа к наиболее посещаемым сайтам. ,Используйте API chrome.history для взаимодействия с записями браузера о посещенных страницах и API chrome.browsingData для управления другими данными просмотра. Используйте chrome.topSites для доступа к наиболее посещаемым сайтам.
Используйте API, такие как chrome.tabs , chrome.tabGroups и chrome.windows для создания, изменения и упорядочения браузера пользователя. ,Используйте API, такие как chrome.tabs , chrome.tabGroups и chrome.windows для создания, изменения и упорядочения браузера пользователя.
Используйте API chrome.commands , чтобы добавлять сочетания клавиш, запускающие действия в вашем расширении. Например, вы можете добавить ярлык для открытия действия браузера или отправки команды расширению. ,Используйте API chrome.commands , чтобы добавить сочетания клавиш, запускающие действия в вашем расширении. Например, вы можете добавить ярлык для открытия действия браузера или отправки команды расширению.
Используйте API chrome.identity для получения токенов доступа OAuth 2.0. ,Используйте API chrome.identity для получения токенов доступа OAuth 2.0.
API chrome.management предоставляет способы управления списком установленных и запущенных расширений. Это особенно полезно для расширений, которые переопределяют встроенную страницу новой вкладки.
API chrome.omnibox позволяет зарегистрировать ключевое слово в омнибоксе (адресной строке) Google Chrome.
Используйте API chrome.privacy для управления использованием функций Chrome, которые могут повлиять на конфиденциальность пользователя. Также см. API chrome.proxy для управления настройками прокси-сервера Chrome.
Используйте API chrome.downloads для программного запуска, мониторинга, управления и поиска загрузок.
Используйте API chrome.bookmarks и API chrome.readingList для создания, организации и иного управления этими списками. ,Используйте API chrome.bookmarks и API chrome.readingList для создания, организации и иного управления этими списками.

Управляйте Интернетом

Динамическое изменение содержимого и поведения веб-страниц. Вы можете контролировать и изменять Интернет, внедряя сценарии, перехватывая сетевые запросы и используя веб-API для взаимодействия с веб-страницами.
Скрипты контента — это файлы, которые запускаются в контексте веб-страниц. Они используют стандартную объектную модель документа (DOM) для считывания сведений о веб-страницах, которые посещает браузер, внесения в них изменений и передачи информации своему родительскому расширению. , Скрипты контента — это файлы, которые запускаются в контексте веб-страниц. Они используют стандартную объектную модель документа (DOM) для считывания сведений о веб-страницах, которые посещает браузер, внесения в них изменений и передачи информации своему родительскому расширению.
Разрешение "activeTab" предоставляет расширению временный доступ к текущей активной вкладке, когда пользователь вызывает расширение, например, щелкнув его действие. Доступ к вкладке сохраняется, пока пользователь находится на этой странице, и аннулируется, когда пользователь уходит или закрывает вкладку.
Используйте API chrome.declarativeNetRequest , chrome.webRequest и chrome.webNavigation для наблюдения, блокировки и изменения сетевых запросов. ,Используйте API chrome.declarativeNetRequest , chrome.webRequest и chrome.webNavigation для наблюдения, блокировки и изменения сетевых запросов.
Узнайте о различных подходах к записи аудио и видео с вкладки, окна или экрана с помощью API веб-платформы, таких как chrome.tabCapture или getDisplayMedia() .
Используйте API chrome.contentSettings , чтобы контролировать, могут ли веб-сайты использовать такие функции, как файлы cookie, JavaScript и плагины. В более общем смысле, настройки контента позволяют настраивать поведение Chrome для каждого сайта, а не глобально.

Основные понятия

Используя API веб-платформы и расширений, вы можете создавать более сложные функции, комбинируя различные компоненты пользовательского интерфейса и функции платформы расширений.
Сервис-воркер расширения (service-worker.js) — это скрипт, основанный на событиях, который браузер запускает в фоновом режиме. Он часто используется для обработки данных, координации задач в различных частях расширения и в качестве менеджера событий расширения.
Разберитесь в разрешениях: как они работают и когда не следует запрашивать их, если они не нужны.
Существуют различные способы реализации фильтрации контента и сетевых ресурсов в расширениях Chrome. Узнайте о возможностях фильтрации контента, доступных расширениям, а также о различных подходах, методах и API фильтрации, которые могут использовать расширения Chrome.
Часто сценариям контента или другим страницам расширений необходимо отправлять или получать информацию от работника службы расширений. В этих случаях любая сторона может прослушивать сообщения, отправленные с другого конца, и отвечать на том же канале.
Включите ваши расширения для обмена сообщениями с собственными приложениями.
В Manifest V3 расширениям необходимо объединить весь используемый ими код внутри самого расширения. Для этого существуют разные стратегии.
Расширения Chrome имеют специализированный API хранилища, доступный всем компонентам расширения. Он включает четыре отдельные области хранения для конкретных случаев использования и прослушиватель событий, отслеживающий обновления данных.
Сервис-воркеры не имеют доступа к DOM. API Offscreen позволяет расширению использовать API DOM в скрытом документе, не прерывая работу пользователя открытием новых окон или вкладок.
Изоляция между источниками позволяет веб-странице использовать мощные функции, такие как SharedArrayBuffer . Расширение может выбрать изоляцию между источниками, указав соответствующие значения для ключей манифеста "cross_origin_embedder_policy" и "cross_origin_opener_policy" .
Узнайте, как Chrome обновляет процесс обновления расширений и как отслеживать распространение обновлений расширений.