chrome.action

Beschreibung

Mit der chrome.action API können Sie das Symbol der Erweiterung in der Google Chrome-Symbolleiste steuern.

Die Aktionssymbole werden in der Browsersymbolleiste neben der Omnibox angezeigt. Nach der Installation werden sie im Erweiterungsmenü (das Puzzleteilsymbol) angezeigt. Nutzer können das Symbol Ihrer Erweiterung an die Symbolleiste anpinnen.

Verfügbarkeit

Chrome 88 und höher MV3 und höher

Manifest

Die folgenden Schlüssel müssen im Manifest deklariert werden, damit diese API verwendet werden kann.

"action"

Wenn Sie die chrome.action API verwenden möchten, geben Sie einen "manifest_version" von 3 an und fügen Sie den Schlüssel "action" in Ihre Manifestdatei ein.

{
  "name": "Action Extension",
  ...
  "action": {
    "default_icon": {              // optional
      "16": "images/icon16.png",   // optional
      "24": "images/icon24.png",   // optional
      "32": "images/icon32.png"    // optional
    },
    "default_title": "Click Me",   // optional, shown in tooltip
    "default_popup": "popup.html"  // optional
  },
  ...
}

Der Schlüssel "action" (und seine untergeordneten Elemente) ist optional. Andernfalls wird die Erweiterung in der Symbolleiste angezeigt, um Zugriff auf das Menü der Erweiterung zu erhalten. Aus diesem Grund empfehlen wir, immer mindestens die Schlüssel "action" und "default_icon" anzugeben.

Konzepte und Verwendung

Teile der Benutzeroberfläche

Symbol

Das Symbol ist das Hauptbild in der Symbolleiste für Ihre Erweiterung und wird über den Schlüssel "default_icon" im Schlüssel "action" Ihres Manifests festgelegt. Symbole müssen 16 geräteunabhängige Pixel (DIP) breit und hoch sein.

Der Schlüssel "default_icon" ist ein Wörterbuch mit Größen und Bildpfaden. Chrome verwendet diese Symbole, um die Bildskala auszuwählen. Wenn keine genaue Übereinstimmung gefunden wird, wählt Chrome die am besten passende Schriftart aus und skaliert sie auf das Bild. Das kann sich auf die Bildqualität auswirken.

Da Geräte mit weniger gängigen Skalierungsfaktoren wie 1,5- oder 1,2-fach immer häufiger werden, empfehlen wir Ihnen, mehrere Größen für Ihre Symbole anzugeben. Außerdem ist Ihre Erweiterung so für mögliche Änderungen der Symbolanzeigegröße gerüstet. Wenn Sie jedoch nur eine Größe angeben, kann der Schlüssel „"default_icon"“ auch auf einen String mit dem Pfad zu einem einzelnen Symbol statt auf ein Wörterbuch festgelegt werden.

Sie können action.setIcon() auch aufrufen, um das Symbol Ihrer Erweiterung programmatisch festzulegen. Geben Sie dazu einen anderen Bildpfad an oder verwenden Sie ein dynamisch generiertes Symbol mit dem HTML-Canvas-Element oder, wenn Sie die Einstellung über einen Erweiterungs-Dienstworker vornehmen, die Offscreen Canvas API.

const canvas = new OffscreenCanvas(16, 16);
const context = canvas.getContext('2d');
context.clearRect(0, 0, 16, 16);
context.fillStyle = '#00FF00';  // Green
context.fillRect(0, 0, 16, 16);
const imageData = context.getImageData(0, 0, 16, 16);
chrome.action.setIcon({imageData: imageData}, () => { /* ... */ });

Bei gepackten Erweiterungen (die über eine .crx-Datei installiert werden), können Bilder in den meisten Formaten vorliegen, die von der Blink-Rendering-Engine angezeigt werden können, z. B. PNG, JPEG, BMP und ICO. SVG wird nicht unterstützt. Für entpackte Erweiterungen müssen PNG-Bilder verwendet werden.

Kurzinfo (Titel)

Die Kurzinfo oder der Titel wird angezeigt, wenn der Nutzer den Mauszeiger in der Symbolleiste auf das Symbol der Erweiterung bewegt. Er wird auch in den barrierefreien Text aufgenommen, der von Screenreadern vorgelesen wird, wenn die Schaltfläche den Fokus erhält.

Die Standard-Tooltip-Textzeile wird mithilfe des Felds "default_title" des Schlüssels "action" in manifest.json festgelegt. Sie können ihn auch programmgesteuert festlegen, indem Sie action.setTitle() aufrufen.

Badge

Aktionen können optional ein „Kennzeichen“ enthalten, also einen Text, der über dem Symbol eingeblendet wird. So können Sie die Aktion aktualisieren, um einige Informationen zum Status der Erweiterung anzuzeigen, z. B. einen Zähler. Das Logo hat eine Textkomponente und eine Hintergrundfarbe. Da der Platz begrenzt ist, empfehlen wir, für den Badge-Text maximal vier Zeichen zu verwenden.

Wenn du ein Badge erstellen möchtest, setze es programmgesteuert, indem du action.setBadgeBackgroundColor() und action.setBadgeText() aufrufst. Im Manifest ist keine Standardeinstellung für das Logo festgelegt. Die Farbwerte für das Logo können entweder ein Array aus vier Ganzzahlen zwischen 0 und 255 sein, die die RGBA-Farbe des Logos bilden, oder ein String mit einem CSS-Farbwert.

chrome.action.setBadgeBackgroundColor(
  {color: [0, 255, 0, 0]},  // Green
  () => { /* ... */ },
);

chrome.action.setBadgeBackgroundColor(
  {color: '#00FF00'},  // Also green
  () => { /* ... */ },
);

chrome.action.setBadgeBackgroundColor(
  {color: 'green'},  // Also, also green
  () => { /* ... */ },
);

Das Pop-up einer Aktion wird angezeigt, wenn der Nutzer in der Symbolleiste auf die Aktionsschaltfläche der Erweiterung klickt. Das Pop-up kann beliebigen HTML-Inhalt enthalten und wird automatisch an den Inhalt angepasst. Die Größe des Pop-ups muss zwischen 25 × 25 und 800 × 600 Pixel liegen.

Das Pop-up wird zuerst durch das Attribut "default_popup" im Schlüssel "action" in der Datei manifest.json festgelegt. Falls vorhanden, sollte diese Property auf einen relativen Pfad im Erweiterungsverzeichnis verweisen. Mit der Methode action.setPopup() kann es auch dynamisch aktualisiert werden, um auf einen anderen relativen Pfad zu verweisen.

Anwendungsfälle

Status pro Tab

Erweiterungsaktionen können für jeden Tab einen anderen Status haben. Wenn Sie einen Wert für einen einzelnen Tab festlegen möchten, verwenden Sie das Attribut tabId in den Einstellungsmethoden der action API. So legen Sie beispielsweise den Badge-Text für einen bestimmten Tab fest:

function getTabId() { /* ... */}
function getTabBadge() { /* ... */}

chrome.action.setBadgeText(
  {
    text: getTabBadge(tabId),
    tabId: getTabId(),
  },
  () => { ... }
);

Wenn die Property tabId weggelassen wird, wird die Einstellung als globale Einstellung behandelt. Tabspezifische Einstellungen haben Vorrang vor globalen Einstellungen.

Aktiviert

Standardmäßig sind Symbolleistenaktionen auf jedem Tab aktiviert (klickbar). Sie können diese Standardeinstellung ändern, indem Sie die Eigenschaft default_state im Schlüssel action des Manifests festlegen. Wenn default_state auf "disabled" gesetzt ist, ist die Aktion standardmäßig deaktiviert und muss programmatisch aktiviert werden, damit sie anklickbar ist. Wenn default_state auf "enabled" (Standardeinstellung) festgelegt ist, ist die Aktion standardmäßig aktiviert und anklickbar.

Sie können den Status programmatisch mit den Methoden action.enable() und action.disable() steuern. Das wirkt sich nur darauf aus, ob das Pop-up (falls vorhanden) oder das action.onClicked-Ereignis an Ihre Erweiterung gesendet wird. Es hat keine Auswirkungen darauf, ob die Aktion in der Symbolleiste angezeigt wird.

Beispiele

Die folgenden Beispiele zeigen einige gängige Möglichkeiten, wie Aktionen in Erweiterungen verwendet werden. Wenn Sie diese API ausprobieren möchten, installieren Sie das Beispiel für die Action API aus dem Repository chrome-extension-samples.

Pop-up anzeigen

Häufig wird in einer Erweiterung ein Pop-up angezeigt, wenn der Nutzer auf die Aktion der Erweiterung klickt. Wenn Sie diese Funktion in Ihrer eigenen Erweiterung implementieren möchten, deklarieren Sie das Pop-up in Ihrer manifest.json und geben Sie den Inhalt an, den Chrome im Pop-up anzeigen soll.

// manifest.json
{
  "name": "Action popup demo",
  "version": "1.0",
  "manifest_version": 3,
  "action": {
    "default_title": "Click to view a popup",
    "default_popup": "popup.html"
  }
}
<!-- popup.html -->
<!DOCTYPE html>
<html>
<head>
  <style>
    html {
      min-height: 5em;
      min-width: 10em;
      background: salmon;
    }
  </style>
</head>
<body>
  <p>Hello, world!</p>
</body>
</html>

Inhaltsskript beim Klicken einfügen

Bei Erweiterungen wird die Hauptfunktion häufig über die Aktion der Erweiterung angezeigt. Das folgende Beispiel veranschaulicht dieses Muster. Wenn der Nutzer auf die Aktion klickt, fügt die Erweiterung ein Inhaltsscript in die aktuelle Seite ein. Das Inhaltsskript zeigt dann eine Benachrichtigung an, um zu bestätigen, dass alles wie erwartet funktioniert hat.

// manifest.json
{
  "name": "Action script injection demo",
  "version": "1.0",
  "manifest_version": 3,
  "action": {
    "default_title": "Click to show an alert"
  },
  "permissions": ["activeTab", "scripting"],
  "background": {
    "service_worker": "background.js"
  }
}
// background.js
chrome.action.onClicked.addListener((tab) => {
  chrome.scripting.executeScript({
    target: {tabId: tab.id},
    files: ['content.js']
  });
});
// content.js
alert('Hello, world!');

Aktionen mit declarativeContent emulieren

In diesem Beispiel wird gezeigt, wie die Hintergrundlogik einer Erweiterung (a) eine Aktion standardmäßig deaktivieren und (b) declarativeContent verwenden kann, um die Aktion auf bestimmten Websites zu aktivieren.

// service-worker.js

// Wrap in an onInstalled callback to avoid unnecessary work
// every time the service worker is run
chrome.runtime.onInstalled.addListener(() => {
  // Page actions are disabled by default and enabled on select tabs
  chrome.action.disable();

  // Clear all rules to ensure only our expected rules are set
  chrome.declarativeContent.onPageChanged.removeRules(undefined, () => {
    // Declare a rule to enable the action on example.com pages
    let exampleRule = {
      conditions: [
        new chrome.declarativeContent.PageStateMatcher({
          pageUrl: {hostSuffix: '.example.com'},
        })
      ],
      actions: [new chrome.declarativeContent.ShowAction()],
    };

    // Finally, apply our new array of rules
    let rules = [exampleRule];
    chrome.declarativeContent.onPageChanged.addRules(rules);
  });
});

Typen

OpenPopupOptions

Chrome 99 und höher

Attribute

  • windowId

    number optional

    Die ID des Fensters, in dem das Pop-up für die Aktion geöffnet werden soll. Wenn keine Angabe gemacht wird, ist das aktuell aktive Fenster standardmäßig ausgewählt.

TabDetails

Attribute

  • tabId

    number optional

    Die ID des Tabs, für den der Status abgefragt werden soll. Wenn kein Tab angegeben ist, wird der nicht tabspezifische Status zurückgegeben.

UserSettings

Chrome 91 und höher

Die Sammlung der vom Nutzer angegebenen Einstellungen im Zusammenhang mit der Aktion einer Erweiterung.

Attribute

  • isOnToolbar

    boolean

    Gibt an, ob das Aktionssymbol der Erweiterung in der obersten Symbolleiste der Browserfenster sichtbar ist (d.h., ob die Erweiterung vom Nutzer angepinnt wurde).

UserSettingsChange

Chrome 130 und höher

Attribute

  • isOnToolbar

    boolescher Wert optional

    Gibt an, ob das Aktionssymbol der Erweiterung in der obersten Symbolleiste der Browserfenster sichtbar ist (d.h., ob die Erweiterung vom Nutzer angepinnt wurde).

Methoden

disable()

Promise
chrome.action.disable(
  tabId?: number,
  callback?: function,
)

Deaktiviert die Aktion für einen Tab.

Parameter

  • tabId

    number optional

    Die ID des Tabs, für den Sie die Aktion ändern möchten.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Versprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.

enable()

Promise
chrome.action.enable(
  tabId?: number,
  callback?: function,
)

Aktiviert die Aktion für einen Tab. Aktionen sind standardmäßig aktiviert.

Parameter

  • tabId

    number optional

    Die ID des Tabs, für den Sie die Aktion ändern möchten.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Versprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.

getBadgeBackgroundColor()

Promise
chrome.action.getBadgeBackgroundColor(
  details: TabDetails,
  callback?: function,
)

Die Hintergrundfarbe der Aktion.

Parameter

Ausgabe

  • Versprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.

getBadgeText()

Promise
chrome.action.getBadgeText(
  details: TabDetails,
  callback?: function,
)

Ruft den Badge-Text der Aktion ab. Wenn kein Tab angegeben ist, wird der nicht tabspezifische Badge-Text zurückgegeben. Wenn displayActionCountAsBadgeText aktiviert ist, wird ein Platzhaltertext zurückgegeben, es sei denn, die Berechtigung declarativeNetRequestFeedback ist vorhanden oder es wurde ein tabspezifischer Badge-Text angegeben.

Parameter

  • Details
  • callback

    function optional

    Der Parameter callback sieht so aus:

    (result: string) => void

    • Ergebnis

      String

Ausgabe

  • Promise<string>

    Versprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.

getBadgeTextColor()

Versprechen Chrome 110 und höher
chrome.action.getBadgeTextColor(
  details: TabDetails,
  callback?: function,
)

Die Textfarbe der Aktion.

Parameter

Ausgabe

  • Versprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.

getPopup()

Promise
chrome.action.getPopup(
  details: TabDetails,
  callback?: function,
)

Das HTML-Dokument, das als Pop-up für diese Aktion festgelegt ist.

Parameter

  • Details
  • callback

    function optional

    Der Parameter callback sieht so aus:

    (result: string) => void

    • Ergebnis

      String

Ausgabe

  • Promise<string>

    Versprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.

getTitle()

Promise
chrome.action.getTitle(
  details: TabDetails,
  callback?: function,
)

Der Titel der Aktion.

Parameter

  • Details
  • callback

    function optional

    Der Parameter callback sieht so aus:

    (result: string) => void

    • Ergebnis

      String

Ausgabe

  • Promise<string>

    Versprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.

getUserSettings()

Promise Chrome 91 und höher
chrome.action.getUserSettings(
  callback?: function,
)

Gibt die vom Nutzer angegebenen Einstellungen für die Aktion einer Erweiterung zurück.

Parameter

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (userSettings: UserSettings) => void

Ausgabe

  • Promise<UserSettings>

    Versprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.

isEnabled()

Versprechen Chrome 110 und höher
chrome.action.isEnabled(
  tabId?: number,
  callback?: function,
)

Gibt an, ob die Erweiterungsaktion für einen Tab aktiviert ist (oder global, wenn kein tabId angegeben ist). Aktionen, die nur mit declarativeContent aktiviert sind, geben immer „falsch“ zurück.

Parameter

  • tabId

    number optional

    Die ID des Tabs, für den Sie den aktivierten Status prüfen möchten.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (isEnabled: boolean) => void

    • isEnabled

      boolean

      „True“, wenn die Erweiterungsaktion aktiviert ist.

Ausgabe

  • Promise<boolean>

    Versprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.

openPopup()

Promise Chrome 127 und höher
chrome.action.openPopup(
  options?: OpenPopupOptions,
  callback?: function,
)

Öffnet das Pop-up der Erweiterung. Zwischen Chrome 118 und Chrome 126 ist dies nur für per Richtlinie installierte Erweiterungen verfügbar.

Parameter

  • Optionen

    Hier werden Optionen zum Öffnen des Pop-ups angegeben.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Versprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.

setBadgeBackgroundColor()

Promise
chrome.action.setBadgeBackgroundColor(
  details: object,
  callback?: function,
)

Die Hintergrundfarbe des Logos.

Parameter

  • Details

    Objekt

    • Farbe

      String | ColorArray

      Ein Array mit vier Ganzzahlen im Bereich [0,255], die die RGBA-Farbe des Logos bilden. Opaque Red (Deckendes Rot) ist beispielsweise [255, 0, 0, 255]. Kann auch ein String mit einem CSS-Wert sein, wobei „undurchsichtiges Rot“ #FF0000 oder #F00 ist.

    • tabId

      number optional

      Die Änderung wird nur angewendet, wenn ein bestimmter Tab ausgewählt ist. Wird automatisch zurückgesetzt, wenn der Tab geschlossen wird.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Versprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.

setBadgeText()

Promise
chrome.action.setBadgeText(
  details: object,
  callback?: function,
)

Hiermit wird der Badge-Text für die Aktion festgelegt. Das Symbol wird über dem Symbol angezeigt.

Parameter

  • Details

    Objekt

    • tabId

      number optional

      Die Änderung wird nur angewendet, wenn ein bestimmter Tab ausgewählt ist. Wird automatisch zurückgesetzt, wenn der Tab geschlossen wird.

    • Text

      String optional

      Es kann eine beliebige Anzahl von Zeichen übergeben werden, in den Bereich passen aber nur etwa vier. Wenn ein leerer String ('') übergeben wird, wird der Badge-Text gelöscht. Wenn tabId angegeben ist und text null ist, wird der Text für den angegebenen Tab gelöscht und der globale Badge-Text wird standardmäßig verwendet.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Versprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.

setBadgeTextColor()

Versprechen Chrome 110 und höher
chrome.action.setBadgeTextColor(
  details: object,
  callback?: function,
)

Hiermit wird die Textfarbe für das Logo festgelegt.

Parameter

  • Details

    Objekt

    • Farbe

      String | ColorArray

      Ein Array mit vier Ganzzahlen im Bereich [0,255], die die RGBA-Farbe des Logos bilden. Opaque Red (Deckendes Rot) ist beispielsweise [255, 0, 0, 255]. Kann auch ein String mit einem CSS-Wert sein, wobei „undurchsichtiges Rot“ #FF0000 oder #F00 ist. Wenn Sie diesen Wert nicht festlegen, wird automatisch eine Farbe ausgewählt, die einen Kontrast zur Hintergrundfarbe des Logos bildet, damit der Text gut sichtbar ist. Farben mit einem Alphawert von 0 werden nicht festgelegt und es wird ein Fehler zurückgegeben.

    • tabId

      number optional

      Die Änderung wird nur angewendet, wenn ein bestimmter Tab ausgewählt ist. Wird automatisch zurückgesetzt, wenn der Tab geschlossen wird.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Versprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.

setIcon()

Promise
chrome.action.setIcon(
  details: object,
  callback?: function,
)

Legen Sie das Symbol für die Aktion fest. Das Symbol kann entweder als Pfad zu einer Bilddatei oder als Pixeldaten aus einem Canvas-Element oder als Wörterbuch einer dieser beiden Optionen angegeben werden. Es muss entweder die Property path oder imageData angegeben werden.

Parameter

  • Details

    Objekt

    • imageData

      ImageData | object optional

      Entweder ein ImageData-Objekt oder ein Wörterbuch {size -> ImageData}, das das zu setzende Symbol darstellt. Wenn das Symbol als Wörterbuch angegeben ist, wird das tatsächlich verwendete Bild je nach Pixeldichte des Bildschirms ausgewählt. Wenn die Anzahl der Bildpixel, die in eine Bildschirmeinheit passen, scale entspricht, wird das Bild mit der Größe scale * n ausgewählt, wobei n die Größe des Symbols in der Benutzeroberfläche ist. Es muss mindestens ein Bild angegeben werden. Hinweis: „details.imageData = foo“ entspricht „details.imageData = {'16': foo}“.

    • Pfad

      string | object optional

      Entweder ein relativer Bildpfad oder ein Dictionary {size -> relative image path}, das auf das Symbol verweist, das festgelegt werden soll. Wenn das Symbol als Wörterbuch angegeben ist, wird das tatsächlich verwendete Bild je nach Pixeldichte des Bildschirms ausgewählt. Wenn die Anzahl der Bildpixel, die in eine Bildschirmeinheit passen, scale entspricht, wird das Bild mit der Größe scale * n ausgewählt, wobei n die Größe des Symbols in der Benutzeroberfläche ist. Es muss mindestens ein Bild angegeben werden. „details.path = foo“ entspricht „details.path = {'16': foo}“.

    • tabId

      number optional

      Die Änderung wird nur angewendet, wenn ein bestimmter Tab ausgewählt ist. Wird automatisch zurückgesetzt, wenn der Tab geschlossen wird.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 96 und höher

    Versprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.

setPopup()

Promise
chrome.action.setPopup(
  details: object,
  callback?: function,
)

Hiermit wird festgelegt, dass das HTML-Dokument als Pop-up geöffnet wird, wenn der Nutzer auf das Symbol der Aktion klickt.

Parameter

  • Details

    Objekt

    • Pop-up

      String

      Der relative Pfad zur HTML-Datei, die in einem Pop-up angezeigt werden soll. Wenn der leere String ('') festgelegt ist, wird kein Pop-up angezeigt.

    • tabId

      number optional

      Die Änderung wird nur angewendet, wenn ein bestimmter Tab ausgewählt ist. Wird automatisch zurückgesetzt, wenn der Tab geschlossen wird.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Versprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.

setTitle()

Promise
chrome.action.setTitle(
  details: object,
  callback?: function,
)

Legt den Titel der Aktion fest. Dieser wird in der Kurzinfo angezeigt.

Parameter

  • Details

    Objekt

    • tabId

      number optional

      Die Änderung wird nur angewendet, wenn ein bestimmter Tab ausgewählt ist. Wird automatisch zurückgesetzt, wenn der Tab geschlossen wird.

    • Titel

      String

      Der String, der angezeigt werden soll, wenn der Mauszeiger darauf bewegt wird.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Versprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.

Ereignisse

onClicked

chrome.action.onClicked.addListener(
  callback: function,
)

Wird ausgelöst, wenn auf ein Aktionssymbol geklickt wird. Dieses Ereignis wird nicht ausgelöst, wenn die Aktion ein Pop-up hat.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (tab: tabs.Tab) => void

onUserSettingsChanged

Chrome 130 und höher
chrome.action.onUserSettingsChanged.addListener(
  callback: function,
)

Wird ausgelöst, wenn sich die von Nutzern festgelegten Einstellungen für die Aktion einer Erweiterung ändern.

Parameter