refresh date: 2026-09-25 robots: noindex
Описание
Используйте chrome.pageAction API, чтобы разместить значки на главной панели инструментов Google Chrome справа от адресной строки. Действия на странице – это действия, которые можно выполнить на текущей странице, но которые не применимы ко всем страницам. Неактивные действия на странице выделены серым цветом.
Доступность
Ниже приведено несколько примеров.
- Подписаться на RSS-фид этой страницы
- Создать слайд-шоу из фотографий на этой странице
Значок RSS на скриншоте ниже представляет собой действие на странице, которое позволяет подписаться на RSS-фид для текущей страницы.

Скрытые действия на странице выделены серым цветом. Например, на скриншоте ниже значок RSS-фида неактивен, поскольку на фид текущей страницы подписаться нельзя.

Рекомендуем использовать действие браузера, чтобы пользователи могли взаимодействовать с расширением.
Манифест
Зарегистрируйте действие на странице в манифесте расширения следующим образом:
{
"name": "My extension",
...
"page_action": {
"default_icon": { // optional
"16": "images/icon16.png", // optional
"24": "images/icon24.png", // optional
"32": "images/icon32.png" // optional
},
"default_title": "Google Mail", // optional; shown in tooltip
"default_popup": "popup.html" // optional
},
...
}
Поскольку устройства с менее распространенными коэффициентами масштабирования, такими как 1,5x или 1,2x, становятся все более популярными, мы рекомендуем предоставлять значки нескольких размеров. Chrome выберет наиболее подходящий размер и масштабирует его до 16 dip. Это также гарантирует, что если размер отображения значка когда-либо изменится, вам не нужно будет выполнять дополнительную работу по предоставлению других значков. Однако, если разница в размерах слишком велика, это масштабирование может привести к потере деталей или размытости значка.
Старый синтаксис для регистрации значка по умолчанию по-прежнему поддерживается:
{
"name": "My extension",
...
"page_action": {
...
"default_icon": "images/icon32.png" // optional
// equivalent to "default_icon": { "32": "images/icon32.png" }
},
...
}
Элементы интерфейса
Как и действия браузера, действия страницы могут иметь значок, подсказку и всплывающее окно, но не могут иметь значков. Кроме того, действия на странице могут быть неактивны. Информацию о значках, подсказках и всплывающих окнах можно найти в статье Интерфейс действий браузера.
Чтобы сделать действие на странице видимым или неактивным, используйте методы pageAction.show и pageAction.hide соответственно. По умолчанию значок действия на странице неактивен. При показе значка вы указываете вкладку, на которой он должен появиться. Значок остается видимым, пока вкладка не будет закрыта или пока в ней не будет открыт другой URL (например, если пользователь нажмет на ссылку).
Советы
Чтобы добиться наилучшего визуального эффекта, следуйте этим рекомендациям:
- Рекомендуется использовать действия на странице для функций, которые нужны только на некоторых страницах.
- Не используйте действия на странице для функций, которые подходят для большинства страниц. Вместо этого используйте действия браузера.
- Не используйте постоянно анимированные значки. Это просто раздражает.
Типы
ImageDataType
Данные пикселей для изображения. Должен быть объектом ImageData (например, из элемента canvas).
Тип
ImageData
TabDetails
Свойства
-
tabId
number (необязательно)
Идентификатор вкладки, состояние которой нужно запросить. Если вкладка не указана, возвращается состояние, не связанное с вкладкой.
Методы
getPopup()
chrome.pageAction.getPopup(
details: TabDetails,
callback?: function,
): Promise<string>
Возвращает HTML-документ, заданный в качестве всплывающего окна для этого действия на странице.
Параметры
-
подробные сведения
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(result: string) => void
-
Результат
string
-
Возвраты
-
Promise<string>
Chrome 101 и более поздних версий.Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
getTitle()
chrome.pageAction.getTitle(
details: TabDetails,
callback?: function,
): Promise<string>
Возвращает заголовок действия на странице.
Параметры
-
подробные сведения
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(result: string) => void
-
Результат
string
-
Возвраты
-
Promise<string>
Chrome 101 и более поздних версий.Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
hide()
chrome.pageAction.hide(
tabId: number,
callback?: function,
): Promise<void>
Скрывает действие на странице. Скрытые действия на странице по-прежнему отображаются на панели инструментов Chrome, но выделены серым цветом.
Параметры
-
tabId
число
Идентификатор вкладки, для которой нужно изменить действие на странице.
-
обратный вызов
function необязательно
Chrome 67 и более поздних версийПараметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 101 и более поздних версий.Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
setIcon()
chrome.pageAction.setIcon(
details: object,
callback?: function,
): Promise<void>
Задает значок для действия на странице. Значок можно указать как путь к графическому файлу, как данные пикселей из элемента canvas или как словарь, содержащий один из этих вариантов. Необходимо указать свойство path или imageData.
Параметры
-
подробные сведения
Объект
-
iconIndex
number (необязательно)
Поддержка прекращена. Этот аргумент игнорируется.
-
imageData
ImageData | объект необязательный
Объект ImageData или словарь {size -> ImageData}, представляющий значок, который нужно установить. Если значок задан в виде словаря, то изображение выбирается в зависимости от плотности пикселей экрана. Если количество пикселей изображения, помещающихся в одну единицу пространства экрана, равно
scale, то будет выбрано изображение размеромscale* n, где n – размер значка в интерфейсе. Необходимо указать хотя бы одно изображение. Обратите внимание, что details.imageData = foo эквивалентно details.imageData = {'16': foo}. -
путь
string | object необязательный
Относительный путь к изображению или словарь {size -> relative image path}, указывающий на значок, который нужно установить. Если значок задан в виде словаря, то изображение выбирается в зависимости от плотности пикселей экрана. Если количество пикселей изображения, помещающихся в одну единицу пространства экрана, равно
scale, то будет выбрано изображение размеромscale* n, где n – размер значка в интерфейсе. Необходимо указать хотя бы одно изображение. Обратите внимание, что details.path = foo эквивалентно details.path = {'16': foo}. -
tabId
число
Идентификатор вкладки, для которой нужно изменить действие на странице.
-
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 101 и более поздних версий.Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
setPopup()
chrome.pageAction.setPopup(
details: object,
callback?: function,
): Promise<void>
Указывает, что HTML-документ должен открываться во всплывающем окне, когда пользователь нажимает на значок действия на странице.
Параметры
-
подробные сведения
Объект
-
всплывающее окно
string
Относительный путь к HTML-файлу, который будет показан во всплывающем окне. Если задана пустая строка (
''), всплывающее окно не показывается. -
tabId
число
Идентификатор вкладки, для которой нужно изменить действие на странице.
-
-
обратный вызов
function необязательно
Chrome 67 и более поздних версийПараметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 101 и более поздних версий.Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
setTitle()
chrome.pageAction.setTitle(
details: object,
callback?: function,
): Promise<void>
Задает название действия на странице. Оно показывается в подсказке над действием на странице.
Параметры
-
подробные сведения
Объект
-
tabId
число
Идентификатор вкладки, для которой нужно изменить действие на странице.
-
название
string
Строка подсказки.
-
-
обратный вызов
function необязательно
Chrome 67 и более поздних версийПараметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 101 и более поздних версий.Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
show()
chrome.pageAction.show(
tabId: number,
callback?: function,
): Promise<void>
Показывает действие на странице. Действие на странице показывается, когда выбрана вкладка.
Параметры
-
tabId
число
Идентификатор вкладки, для которой нужно изменить действие на странице.
-
обратный вызов
function необязательно
Chrome 67 и более поздних версийПараметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 101 и более поздних версий.Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
События
onClicked
chrome.pageAction.onClicked.addListener(
callback: function,
)
Срабатывает при нажатии на значок действия на странице. Это событие не будет активировано, если у действия на странице есть всплывающее окно.