Aktion implementieren

Eine Aktion ist, was passiert, wenn ein Nutzer auf das Symbol in der Symbolleiste klickt. Dieses Symbol wird normalerweise als Aktionssymbol für Ihre Erweiterung bezeichnet. Durch eine Aktion wird über die Action API eine Erweiterungsfunktion aufgerufen oder ein Pop-up geöffnet. Auf dieser Seite wird beschrieben, wie Sie eine Erweiterungsfunktion aufrufen. Informationen zum Verwenden eines Pop-ups finden Sie unter Pop-up 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 Feldes findest du im Abschnitt zum Manifest der chrome.action API-Referenz.

manifest.json:

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

Auf die Aktion reagieren

Registriert 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 oder wenn CSS-Selektoren mit den Elementen auf der Seite übereinstimmen. Wenn das Aktionssymbol einer Erweiterung deaktiviert ist, ist das Symbol ausgegraut. Wenn der Nutzer auf das deaktivierte Symbol klickt, wird das Kontextmenü der Erweiterung angezeigt.

<ph type="x-smartling-placeholder">
</ph> Ein deaktiviertes Aktionssymbol <ph type="x-smartling-placeholder">
</ph> Ein deaktiviertes Aktionssymbol.

Aktionslogo

Badges sind Teile von formatiertem Text, die über dem Aktionssymbol platziert werden, um Dinge wie den Erweiterungsstatus oder darauf hinzuweisen, dass der Nutzer Aktionen ausführen muss. Um dies zu demonstrieren, wird im Beispiel Trinkwasser ein Badge mit der Einstellung „EIN“ angezeigt. um dem Nutzer zu zeigen, dass er erfolgreich einen Alarm eingestellt hat. Wenn die Erweiterung inaktiv ist, wird nichts angezeigt. Badges können bis zu vier Zeichen enthalten.

<ph type="x-smartling-placeholder">
</ph> Ein Erweiterungssymbol ohne Badge und mit Badge.
Ein Erweiterungssymbol ohne Kennzeichen (links) und mit einem Badge (rechts).

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

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 festlegen oder aktualisieren, indem Sie action.setTitle() aufrufen. Wenn keine Kurzinfo festgelegt ist, wird der Name der Erweiterung angezeigt.