browserAction
Добавляет кнопку на панель инструментов браузера.
Действие браузера — это кнопка на панели инструментов браузера.
Вы можете связать с кнопкой всплывающее окно. Всплывающее окно задаётся с помощью HTML, CSS и JavaScript, как и обычная веб-страница. JavaScript, выполняемый во всплывающем окне, имеет доступ ко всем тем же API WebExtension, что и ваши скрипты фонового процесса, но его глобальный контекст — это всплывающее окно, а не текущая страница, отображаемая в браузере. Чтобы повлиять на веб-страницы, вам нужно взаимодействовать с ними с помощью сообщений.
Если вы зададите всплывающее окно, оно будет показано — и содержимое будет загружено — когда пользователь нажмёт на значок. Если вы не зададите всплывающее окно, при нажатии на значок будет отправлено событие в ваш расширение.
Большинство свойств действия браузера можно задать декларативно, используя ключ browser_action в manifest.json.
С помощью API browserAction вы можете:
- использовать
browserAction.onClicked, чтобы прослушивать щелчки по значку. - получать и устанавливать свойства значка — значок, заголовок, всплывающее окно и так далее. Вы можете получать и устанавливать эти значения глобально для всех вкладок или для конкретной вкладки, передавая идентификатор вкладки в качестве дополнительного аргумента.
Типы
browserAction.ColorArray-
Массив из четырёх целых чисел в диапазоне от 0 до 255, определяющих цвет в формате RGBA.
browserAction.ImageDataType-
Данные пикселей для изображения. Должен быть объектом
ImageData(например, из элемента<canvas>).
Функции
browserAction.setTitle()-
Устанавливает заголовок действия браузера. Он будет отображаться в всплывающей подсказке.
browserAction.getTitle()-
Получает заголовок действия браузера.
browserAction.setIcon()-
Устанавливает значок действия браузера.
browserAction.setPopup()-
Устанавливает HTML-документ, который будет открыт как всплывающее окно при нажатии на значок действия браузера.
browserAction.getPopup()-
Получает HTML-документ, заданный в качестве всплывающего окна действия браузера.
browserAction.openPopup()-
Открывает всплывающее окно действия браузера.
browserAction.setBadgeText()-
Устанавливает текст значка действия браузера. Значок отображается поверх значка.
browserAction.getBadgeText()-
Получает текст значка действия браузера.
browserAction.setBadgeBackgroundColor()-
Устанавливает цвет фона значка.
browserAction.getBadgeBackgroundColor()-
Получает цвет фона значка.
browserAction.setBadgeTextColor()-
Устанавливает цвет текста значка.
browserAction.getBadgeTextColor()-
Получает цвет текста значка.
browserAction.enable()-
Включает действие браузера для вкладки. По умолчанию действия браузера включены для всех вкладок.
browserAction.disable()-
Отключает действие браузера для вкладки, что означает, что на неё нельзя нажать, когда эта вкладка активна.
browserAction.isEnabled()-
Проверяет, включено ли действие браузера.
События
browserAction.onClicked-
Срабатывает при нажатии на значок действия браузера. Это событие не будет срабатывать, если у действия браузера есть всплывающее окно.
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | |
ColorArray |
Да | 14 | 45 | ? | Да | 14 | ? | ? | 79 | ? | 15 | ? |
ImageDataType |
Да | 14 | 45 | ? | Да | 14 | ? | ? | 79 | ? | 15 | ? |
disable |
Да | 14 | 45 | ? | Да | 14 | ? | ? | 79 | ? | 15 | ? |
enable |
Да | 14 | 45 | ? | Да | 14 | ? | ? | 79 | ? | 15 | ? |
getBadgeBackgroundColor |
Да | 14 | 45 | ? | Да | 14Всегда возвращает красныйColorArray. |
? | ? | 79 | ? | 15Всегда возвращает красныйColorArray. |
? |
getBadgeText |
Да | 14 | 45 | ? | Да | 14 | ? | ? | 79 | ? | 15 | ? |
getBadgeTextColor |
Нет | Нет | 63 | ? | Нет | Нет | ? | ? | 79 | ? | Нет | ? |
getPopup |
Да | 79 | 45 | ? | Да | 14 | ? | ? | 57 | ? | 15 | ? |
getTitle |
Да | 15 | 45 | ? | Да | 14 | ? | ? | 55 | ? | 15API существует, но заголовок не отображается в пользовательском интерфейсе. |
? |
isEnabled |
Нет | Нет | 59 | ? | Нет | Нет | ? | ? | 79 | ? | Нет | ? |
onClicked |
Да | 14 | 45 | ? | Да | 14 | ? | ? | 55 | ? | 15 | ? |
openPopup |
67 | 79 | 57["С Firefox 108, взаимодействие пользователя больше не требуется для вызова этой API, когда параметрextensions.openPopupWithoutUserGesture.enabled установлен (ошибка 1799344).", "Поддержка параметра windowId была добавлена в Firefox 108."] |
? | 54 | 16 | ? | ? | 79 | ? | 16 | ? |
setBadgeBackgroundColor |
Да | 14 | 4545–58Цвет фона значка, специфичного для вкладки, не очищается при загрузке новой страницы. |
? | Да | 14API существует, но не имеет эффекта. |
? | ? | 79 | ? | 15API существует, но не имеет эффекта. |
? |
setBadgeText |
Да | 14 | 4545–58Текст значка, специфичного для вкладки, не очищается при загрузке новой страницы. |
? | Да | 14 | ? | ? | 79 | ? | 15 | ? |
setBadgeTextColor |
Нет | Нет | 63 | ? | Нет | Нет | ? | ? | 79 | ? | Нет | ? |
setIcon |
ДаДо Chrome 23,path не мог указать несколько файлов значков, а должен был быть строкой, указывающей один путь к значку. |
14["Этот вызов не сохраняется.", "ПараметрimageData не принимается.", "Параметр path требуется."] |
4545–58Значки, специфичные для вкладки, не очищаются при загрузке новой страницы. |
? | 15 | 14 | ? | ? | 79 | ? | 15 | ? |
setPopup |
Да | 14 | 4545–58Поп-упа, специфичные для вкладки, не очищаются при загрузке новой страницы. |
? | Да | 14 | ? | ? | 5757–58Поп-упа, специфичные для вкладки, не очищаются при загрузке новой страницы. |
? | 15 | ? |
setTitle |
Да | 15 | 4545–58Заголовки, специфичные для вкладки, не очищаются при загрузке новой страницы. |
? | Да | 14 | ? | ? | 5555–58Заголовки, специфичные для вкладки, не очищаются при загрузке новой страницы. |
? | 15API существует, но заголовок не отображается в пользовательском интерфейсе. |
? |
Примеры расширений
- bookmark-it
- favourite-colour
- find-across-tabs
- forget-it
- google-userinfo
- native-messaging
- open-my-page-button
- permissions
- runtime-examples
- store-collected-images
- tabs-tabs-tabs
Примечание: Эта API основана на API chrome.browserAction Chromium. Данная документация взята из browser_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/browserAction