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

Управление браузером
API-интерфейсы расширений Chrome позволяют изменить способ работы вашего браузера.
Переопределить страницы и настройки 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.
Обновить настройки 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 для взаимодействия с веб-страницами.
Внедрение JavaScript и CSS
Скрипты контента — это файлы, которые запускаются в контексте веб-страниц. Они используют стандартную объектную модель документа (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.
SMS/MMS
Часто сценариям контента или другим страницам расширений необходимо отправлять или получать информацию от работника службы расширений. В этих случаях любая сторона может прослушивать сообщения, отправленные с другого конца, и отвечать на том же канале.
Собственный обмен сообщениями
Включите ваши расширения для обмена сообщениями с собственными приложениями.
Избегайте удаленно размещенного кода. Избегайте удаленно размещенного кода.
В Manifest V3 расширениям необходимо объединить весь используемый ими код внутри самого расширения. Для этого существуют разные стратегии.
Storage
Расширения Chrome имеют специализированный API хранилища, доступный всем компонентам расширения. Он включает четыре отдельные области хранения для конкретных случаев использования и прослушиватель событий, отслеживающий обновления данных.
Закадровые документы
Сервис-воркеры не имеют доступа к DOM. API Offscreen позволяет расширению использовать API DOM в скрытом документе, не прерывая работу пользователя открытием новых окон или вкладок.
Изоляция перекрестного происхождения
Изоляция между источниками позволяет веб-странице использовать мощные функции, такие как
SharedArrayBuffer
. Расширение может выбрать изоляцию между источниками, указав соответствующие значения для ключей манифеста "cross_origin_embedder_policy"
и "cross_origin_opener_policy"
.
Жизненный цикл обновления расширения
Узнайте, как Chrome обновляет процесс обновления расширений и как отслеживать распространение обновлений расширений.