Aktion implementieren

Eine Aktion ist das, was passiert, wenn ein Nutzer auf das Symbol in der Symbolleiste klickt. Dieses Symbol wird in der Regel als das Aktionssymbol für Ihre Erweiterung bezeichnet. Eine Aktion ruft eine Erweiterungsfunktion über die Action API auf oder öffnet ein Pop-up. Auf dieser Seite wird beschrieben, wie Sie eine Erweiterungsfunktion aufrufen. Informationen zur Verwendung von Pop-ups finden Sie unter Pop-up hinzufügen.

Aktion registrieren

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

manifest.json:

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

Auf die Aktion reagieren

Registrieren Sie einen onClicked Handler für den Fall, dass 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. Wenn das Aktionssymbol einer Erweiterung deaktiviert ist, wird es ausgegraut. Wenn der Nutzer auf das deaktivierte Symbol klickt, wird das Kontextmenü der Erweiterung angezeigt.

Ein deaktiviertes Aktionssymbol
Ein deaktiviertes Aktionssymbol.

Aktionsbadge

Badges sind formatierte Textteile, die über dem Aktionssymbol platziert werden, um beispielsweise den Erweiterungsstatus anzugeben oder darauf hinzuweisen, dass der Nutzer Aktionen ausführen muss. Im Beispiel „Drink Water“ wird ein Badge mit „ON“ angezeigt, um dem Nutzer zu zeigen, dass er einen Alarm erfolgreich eingestellt hat. Wenn die Erweiterung inaktiv ist, wird nichts angezeigt. Badges können bis zu vier Zeichen enthalten.

Ein Erweiterungssymbol ohne und mit Badge.
Ein Erweiterungssymbol mit einem Badge (links) und ohne Badge (rechts).

Legen Sie den Text des Badges mit chrome.action.setBadgeText() und die Hintergrundfarbe mit chrome.action.setBadgeBackgroundColor() fest.

service-worker.js:

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

Kurzinfo

Registrieren Sie Tooltips im "default_title" Feld unter dem "action" Schlüssel 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 Tooltips auch mit action.setTitle() festlegen oder aktualisieren. Wenn kein Tooltip festgelegt ist, wird der Name der Erweiterung angezeigt.