Действие страницы
Действие страницы — это нажимаемая иконка в адресной строке браузера.
Вы можете прослушивать нажатия на иконку или указать всплывающее окно, которое откроется при нажатии на неё.
Если вы укажете всплывающее окно, вы можете определить его содержимое и поведение с помощью HTML, CSS и JavaScript — как и в обычной веб-странице. JavaScript, работающий во всплывающем окне, получает доступ ко всем тем же API WebExtension, что и ваши скрипты фонового процесса.
Большинство свойств действия страницы можно задать декларативно, используя ключ page_action в вашем manifest.json, но также можно переопределить их программно с помощью этого API.
Действия страницы предназначены для действий, которые актуальны только для определённых страниц (например, «закладка текущей вкладки»). Если они актуальны для браузера в целом (например, «отобразить все закладки»), используйте действие браузера.
Типы
pageAction.ImageDataType-
Данные пикселей для изображения.
Функции
pageAction.show()-
Отображает действие страницы для заданной вкладки.
pageAction.hide()-
Скрывает действие страницы для заданной вкладки.
pageAction.isShown()-
Проверяет, отображено ли действие страницы.
pageAction.setTitle()-
Устанавливает заголовок действия страницы. Он отображается в подсказке над действием страницы.
pageAction.getTitle()-
Получает заголовок действия страницы.
pageAction.setIcon()-
Устанавливает иконку действия страницы.
pageAction.setPopup()-
Устанавливает URL всплывающего окна действия страницы.
pageAction.getPopup()-
Получает URL всплывающего окна действия страницы.
pageAction.openPopup()-
Открывает всплывающее окно действия страницы.
События
pageAction.onClicked-
Срабатывает при нажатии на иконку действия страницы. Это событие не будет срабатывать, если для действия страницы задано всплывающее окно.
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox для Android | Opera для Android | Safari на iOS | Samsung Internet | |
ImageDataType |
Да | 79 | 45 | ? | Да | 14 | ? | ? | 79 | ? | 15 | ? |
getPopup |
Да | 14 | 45 | ? | Да | 14 | ? | ? | 50Параметр 'tabId' игнорируется: всплывающее окно действия страницы одинаково для всех вкладок. |
? | 15 | ? |
getTitle |
Да | 14 | 45 | ? | Да | 14 | ? | ? | 79 | ? | 15API существует, но заголовок не отображается в интерфейсе. |
? |
hide |
Да | 14 | 45 | ? | Да | Нет | ? | ? | 50До версии 56 параметр 'tabId' игнорировался, и действие страницы скрывалось для всех вкладок. |
? | Нет | ? |
isShown |
Нет | Нет | 59 | ? | Нет | Нет | ? | ? | 79 | ? | Нет | ? |
onClicked |
Да | 14 | 45 | ? | Да | 14 | ? | ? | 50 | ? | 15 | ? |
openPopup |
Нет | Нет | 57 | ? | Нет | 16 | ? | ? | 79 | ? | 16 | ? |
setIcon |
ДаДо Chrome 23,path нельзя было указать несколько файлов иконок, а нужно было указать строку с путём к единственной иконке. |
14 | 45 | ? | 15 | 14 | ? | ? | 79 | ? | 15 | ? |
setPopup |
Да | 14 | 45 | ? | Да | 14 | ? | ? | 50Параметр 'tabId' игнорируется, и всплывающее окно устанавливается для всех вкладок. |
? | 15 | ? |
setTitle |
Да | 14 | 45 | ? | Да | 14 | ? | ? | 79 | ? | 15API существует, но заголовок не отображается в интерфейсе. |
? |
show |
Да | 14 | 45 | ? | Да | Нет | ? | ? | 50До версии 56 параметр 'tabId' игнорировался, и действие страницы отображалось для всех вкладок. |
? | Нет | ? |
Примеры расширений
Примечание: Этот API основан на API chrome.pageAction Chromium. Данная документация основана на page_action.json кода Chromium.
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/pageAction