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

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

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

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

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

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

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