Реализация действия

Действие — это то, что происходит, когда пользователь щелкает значок на панели инструментов, обычно называемый значком действия для вашего расширения. Действие запускает функцию расширения с помощью API действий или открывает всплывающее окно . На этой странице показано, как запустить функцию расширения. Чтобы использовать всплывающее окно, см. раздел «Добавление всплывающего окна» .

Зарегистрируйте действие

Для использования API chrome.action добавьте ключ "action" в файл манифеста расширения. Полное описание необязательных свойств этого поля см. в разделе манифеста справочника API chrome.action

manifest.json:

{
  "name": "My Awesome action Extension",
 ...
  "action": {
   ...
  }
 ...
}

Ответьте на действие

Зарегистрируйте обработчик события onClicked который срабатывает, когда пользователь нажимает на значок действия. Это событие не срабатывает, если всплывающее окно зарегистрировано в файле manifest.json.

service-worker.js:

chrome.action.onClicked.addListener((tab) => {
  chrome.action.setTitle({
    tabId: tab.id,
    title: `You are on tab: ${tab.id}`});
});

Активировать действие условно

API chrome.declarativeContent позволяет включать значок действия расширения на основе URL страницы или при совпадении CSS-селекторов с элементами на странице. Если значок действия расширения отключен, он отображается серым цветом. При нажатии на отключенный значок появляется контекстное меню расширения.

Значок действия для инвалидов
Отключенный значок действия.

значок за действия

Значки — это фрагменты форматированного текста, размещаемые поверх значка действия, чтобы указывать, например, на состояние расширения или на необходимость выполнения пользователем каких-либо действий. Для демонстрации этого в примере « Пить воду» отображается значок со словом «ВКЛ», показывающий, что пользователь успешно установил будильник, и ничего не отображается, когда расширение находится в режиме ожидания. Значки могут содержать до четырех символов.

Значок расширения без значка и со значком.
Значок расширения со значком (слева) и без значка (справа).

Задайте текст значка, вызвав метод chrome.action.setBadgeText() , и цвет фона, вызвав chrome.action.setBadgeBackgroundColor() .

service-worker.js:

chrome.action.setBadgeText({text: 'ON'});
chrome.action.setBadgeBackgroundColor({color: '#4688F1'});

Всплывающая подсказка

Зарегистрируйте всплывающие подсказки в поле "default_title" в разделе "action" файла manifest.json.

manifest.json:

{
  "name": "Tab Flipper",
 ...
  "action": {
    "default_title": "Press Ctrl(Win)/Command(Mac)+Shift+Right/Left to flip tabs"
  }
...
}

Вы также можете установить или обновить всплывающие подсказки, вызвав action.setTitle() . Если всплывающая подсказка не установлена, отображается название расширения.