Aktion implementieren

Eine Aktion ist das, was passiert, wenn ein Nutzer auf das Symbol in der Symbolleiste klickt. Dieses Symbol wird normalerweise als Aktionssymbol für die Erweiterung bezeichnet. Bei einer Aktion wird mithilfe der Action API eine Erweiterungsfunktion aufgerufen oder ein Pop-up geöffnet. Auf dieser Seite wird beschrieben, wie eine Erweiterungsfunktion aufgerufen wird. Wie Sie ein Pop-up verwenden, erfahren Sie unter Pop-ups hinzufügen.

Aktion registrieren

Wenn Sie die chrome.action API verwenden möchten, fügen Sie der Manifestdatei der Erweiterung den Schlüssel "action" hinzu. Eine vollständige Beschreibung der optionalen Eigenschaften dieses Felds findest du in der API-Referenz für chrome.action im Abschnitt Manifest.

manifest.json:

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

Auf die Aktion reagieren

Registrieren Sie einen onClicked-Handler, wenn der Nutzer auf das Aktionssymbol klickt. Dieses Ereignis wird nicht ausgelöst, wenn in der Datei „manifest.json“ ein Pop-up registriert ist.

service-worker.js:

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

Aktion bedingt aktivieren

Mit der chrome.declarativeContent API können Sie das Aktionssymbol der Erweiterung basierend auf der Seiten-URL aktivieren oder wenn CSS-Selektoren mit den Elementen auf der Seite übereinstimmen. Ist das Aktionssymbol einer Erweiterung deaktiviert, ist es ausgegraut. Wenn der Nutzer auf das Symbol „Deaktiviert“ klickt, erscheint das Kontextmenü der Erweiterung.

Symbol für deaktivierte Aktionen
Symbol für deaktivierte Aktionen.

Aktionslogo

Badges sind formatierter Text, der über dem Aktionssymbol platziert wird, um beispielsweise den Erweiterungsstatus oder den Nutzeraktionen anzugeben. Das Beispiel Trinkwasser zeigt an, dass der Nutzer einen Alarm erfolgreich eingerichtet hat. Wenn die Erweiterung inaktiv ist, wird als Symbol „AN“ angezeigt. Badges können bis zu vier Zeichen enthalten.

Ein Erweiterungssymbol ohne Badge und mit Badge.
Ein Erweiterungssymbol ohne Symbol (links) und mit Logo (rechts)

Legen Sie den Text des Logos fest, indem Sie chrome.action.setBadgeText() aufrufen, und die Hintergrundfarbe, indem Sie chrome.action.setBadgeBackgroundColor() aufrufen.

service-worker.js:

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

Kurzinfo

Registrieren Sie Kurzinfos im Feld "default_title" unter dem Schlüssel "action" in der Datei „manifest.json“.

manifest.json:

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

Sie können Kurzinfos auch durch Aufrufen von action.setTitle()` festlegen oder aktualisieren. Wenn keine Kurzinfo festgelegt ist, wird der Name der Erweiterung angezeigt.