Кнопка адресной строки
Обычно называемая кнопкой действия страницы (действие страницы), этот элемент пользовательского интерфейса представляет собой кнопку, добавленную в адресную строку браузера. Пользователи нажимают на кнопку для взаимодействия с расширениями.
Действия страницы и действия браузера
Кнопка адресной строки (или действие страницы) похожа на кнопку панели инструментов (или действие браузера).
Различия следующие:
-
Расположение кнопки:
- Действие страницы отображается внутри адресной строки браузера.
- Действие браузера отображается вне адресной строки, на панели инструментов браузера.
-
Видимость кнопки:
- Действие страницы по умолчанию скрыто (хотя это значение по умолчанию может быть изменено через свойства
show_matchesиhide_matchesключа манифеста), и вы вызываетеpageAction.show()иpageAction.hide(), чтобы отобразить или скрыть ее в конкретных вкладках. - Действие браузера всегда отображается.
- Действие страницы по умолчанию скрыто (хотя это значение по умолчанию может быть изменено через свойства
Используйте действие страницы, когда действие относится к текущей странице. Используйте действие браузера, когда действие относится ко всему браузеру в целом или к многим страницам. Например:
| Тип | Действие закладок | Действие содержимого | Операция с вкладками |
|---|---|---|---|
| действие страницы | Добавить эту страницу в закладки | Улучшение Reddit | Отправить вкладку |
| действие браузера | Показать все закладки | Включить блокирование рекламы | Синхронизировать все открытые вкладки |
Настройка действия страницы
Вы определяете свойства действия страницы, используя ключ page_action в файле manifest.json:
"page_action": { "browser_style": true, "default_icon": { "19": "button/geo-19.png", "38": "button/geo-38.png" }, "default_title": "Whereami?" }
Единственный обязательный ключ — default_icon.
Существует два способа указать действие страницы: с всплывающим окном или без него.
-
Без всплывающего окна: Когда пользователь нажимает на кнопку, в расширение отправляется событие, на которое расширение реагирует с помощью
pageAction.onClicked:browser.pageAction.onClicked.addListener(handleClick);
-
Со всплывающим окном: событие
clickне отправляется. Вместо этого при нажатии на кнопку появляется всплывающее окно. Пользователь взаимодействует со всплывающим окном. При нажатии за пределами всплывающего окна оно автоматически закрывается. Более подробную информацию о создании и управлении всплывающими окнами см. в статье Всплывающее окно.
Обратите внимание, что ваше расширение может иметь только одно действие страницы.
Вы можете программно изменить любые свойства действия страницы, используя API pageAction.
Иконки
Подробные сведения о создании иконок для использования с действием страницы см. в разделе Иконография в документации Системы дизайна Acorn.
Примеры
В репозитории webextensions-examples на GitHub есть пример chill-out, который реализует действие страницы без всплывающего окна.
© 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/user_interface/Page_actions