Spec-Zone.ru › Web Extensions

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 45
45–58Цвет фона значка, специфичного для вкладки, не очищается при загрузке новой страницы.
? Да
14API существует, но не имеет эффекта.
? ? 79 ?
15API существует, но не имеет эффекта.
?
setBadgeText Да 14 45
45–58Текст значка, специфичного для вкладки, не очищается при загрузке новой страницы.
? Да 14 ? ? 79 ? 15 ?
setBadgeTextColor Нет Нет 63 ? Нет Нет ? ? 79 ? Нет ?
setIcon
ДаДо Chrome 23, path не мог указать несколько файлов значков, а должен был быть строкой, указывающей один путь к значку.
14["Этот вызов не сохраняется.", "Параметр imageData не принимается.", "Параметр path требуется."]
45
45–58Значки, специфичные для вкладки, не очищаются при загрузке новой страницы.
? 15 14 ? ? 79 ? 15 ?
setPopup Да 14 45
45–58Поп-упа, специфичные для вкладки, не очищаются при загрузке новой страницы.
? Да 14 ? ? 57
57–58Поп-упа, специфичные для вкладки, не очищаются при загрузке новой страницы.
? 15 ?
setTitle Да 15 45
45–58Заголовки, специфичные для вкладки, не очищаются при загрузке новой страницы.
? Да 14 ? ? 55
55–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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API