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 Erweiterungssymbol an der Symbolleiste anpinnen.

Verfügbarkeit

Chrome 88 oder höher MV3+

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" (zusammen mit seinen untergeordneten Elementen) 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 deine Erweiterung und wird durch den "default_icon"-Schlüssel im "action"-Schlüssel deines Manifests festgelegt. Symbole müssen 16 geräteunabhängige Pixel (DIPs) breit und hoch sein.

Der Schlüssel "default_icon" ist ein Wörterbuch der Größen für Bildpfade. Chrome verwendet diese Symbole, um die Bildgröße auszuwählen. Wenn keine genaue Übereinstimmung gefunden wird, wählt Chrome die am besten passende Option aus und skaliert sie für das Bild. Dies kann die Bildqualität beeinträchtigen.

Da Geräte mit weniger gängigen Skalierungsfaktoren wie 1,5x oder 1,2x immer häufiger verwendet werden, empfehlen wir Ihnen, mehrere Größen für Ihre Symbole anzugeben. Dadurch wird Ihre Erweiterung auch auf mögliche Änderungen der Symbolanzeigegröße vorbereitet. Wenn Sie jedoch nur eine einzige Größe angeben, kann der Schlüssel "default_icon" auch auf einen String mit dem Pfad zu einem einzelnen Symbol anstelle eines Wörterbuchs gesetzt 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 aus einer CRX-Datei installiert wurden, können Bilder in den meisten Formaten vorliegen, die von der Blink-Rendering-Engine angezeigt werden können, darunter PNG, JPEG, BMP und ICO. SVG wird nicht unterstützt. Für entpackte Erweiterungen müssen PNG-Bilder verwendet werden.

Kurzinfo (Titel)

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

Die Standard-Kurzinfo wird mit dem Feld "default_title" des Schlüssels "action" in manifest.json festgelegt. Sie können sie auch programmatisch festlegen, indem Sie action.setTitle() aufrufen.

Badge

Aktionen können optional ein „Badge“ anzeigen – ein Text, der über das Symbol gelegt wird. Auf diese Weise können Sie die Aktion so aktualisieren, dass eine kleine Menge Informationen zum Status der Erweiterung angezeigt wird, z. B. ein Zähler. Das Logo hat eine Textkomponente und eine Hintergrundfarbe. Da der Platz begrenzt ist, empfehlen wir, 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 gibt es keine Standardeinstellung für das Badge. 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 dieses Attribut vorhanden ist, sollte es auf einen relativen Pfad innerhalb des Erweiterungsverzeichnisses verweisen. Er kann auch dynamisch mit der Methode action.setPopup() aktualisiert werden, sodass er auf einen anderen relativen Pfad verweist.

Anwendungsfälle

Status pro Tab

Erweiterungsaktionen können für jeden Tab einen anderen Status haben. Mit dem Attribut tabId in den Einstellungsmethoden der action API kannst du einen Wert für einen einzelnen Tab festlegen. Wenn du beispielsweise den Logotext für einen bestimmten Tab festlegen möchtest, kannst du Folgendes tun:

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 (anklickbar). Das lässt sich mit den Methoden action.enable() und action.disable() steuern. Dies wirkt sich nur darauf aus, ob das Pop-up-Ereignis (falls vorhanden) oder das action.onClicked-Ereignis an die Erweiterung gesendet wird. Es hat keinen Einfluss auf die Anzeige der Aktion in der Symbolleiste.

Beispiele

Die folgenden Beispiele zeigen einige gängige Verwendungsmöglichkeiten von Aktionen in Erweiterungen. 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 du dies in deiner eigenen Erweiterung implementieren möchtest, deklariere das Pop-up in deinem manifest.json und gib den Inhalt an, der von Chrome im Pop-up angezeigt werden 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

Erweiterungen werden häufig nach dem Muster dargestellt, dass ihre Hauptfunktion über die Aktion der Erweiterung verfügbar gemacht wird. Das folgende Beispiel veranschaulicht dieses Muster. Wenn der Nutzer auf die Aktion klickt, fügt die Erweiterung ein Inhaltsskript 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 deklarativeContent emulieren

Dieses Beispiel zeigt, 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 oder höher

Attribute

  • windowId

    Zahl optional

    Die ID des Fensters, in dem das Aktions-Pop-up geöffnet werden soll. Wenn keine Angabe gemacht wird, wird standardmäßig das derzeit aktive Fenster verwendet.

TabDetails

Attribute

  • tabId

    Zahl 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 oder 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 des Browserfensters 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 des Browserfensters sichtbar ist (d.h., ob die Erweiterung vom Nutzer "angepinnt" wurde).

Methoden

disable()

Versprechen
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

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in demselben 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

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in demselben 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

Gibt Folgendes zurück:

  • Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in demselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.

getBadgeText()

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

Ruft den Badge-Text der Aktion ab. Wenn kein Tab angegeben wird, wird der nicht tabulatorspezifische Logotext 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

    Funktion optional

    Der Parameter callback sieht so aus:

    (result: string) => void

    • Ergebnis

      String

Gibt Folgendes zurück:

  • Promise<string>

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in demselben 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

Gibt Folgendes zurück:

  • Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in demselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.

getPopup()

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

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

Parameter

  • Details
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (result: string) => void

    • Ergebnis

      String

Gibt Folgendes zurück:

  • Promise<string>

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in demselben 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,
)

Ruft den Titel der Aktion ab.

Parameter

  • Details
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (result: string) => void

    • Ergebnis

      String

Gibt Folgendes zurück:

  • Promise<string>

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in demselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.

getUserSettings()

Versprechen 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

    Funktion optional

    Der Parameter callback sieht so aus:

    (userSettings: UserSettings) => void

Gibt Folgendes zurück:

  • Promise&lt;UserSettings&gt;

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in demselben 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 werden, geben immer „false“ zurück.

Parameter

  • tabId

    number optional

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

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (isEnabled: boolean) => void

    • isEnabled

      boolean

      „True“, wenn die Erweiterungsaktion aktiviert ist.

Gibt Folgendes zurück:

  • Promise&lt;boolean&gt;

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in demselben 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

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in demselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.

setBadgeBackgroundColor()

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

Legt die Hintergrundfarbe des Logos fest.

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 #FF0000 oder #F00 opakrot ist.

    • tabId

      number optional

      Die Änderung wird nur angewendet, wenn ein bestimmter Tab ausgewählt ist. Wird beim Schließen des Tabs automatisch zurückgesetzt.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in demselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.

setBadgeText()

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

Legt den Badge-Text für die Aktion fest. Das Badge wird über dem Symbol angezeigt.

Parameter

  • Details

    Objekt

    • tabId

      number optional

      Beschränkt die Änderung auf das Auswählen eines bestimmten Tabs. Wird beim Schließen des Tabs automatisch zurückgesetzt.

    • Text

      String optional

      Es kann eine beliebige Anzahl von Zeichen übergeben werden, aber nur etwa vier können in den Bereich passen. 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

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in demselben 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. Zum Beispiel ist undurchsichtiges Rot [255, 0, 0, 255]. Kann auch ein String mit einem CSS-Wert sein, wobei #FF0000 oder #F00 opakrot ist. Wenn Sie diesen Wert nicht festlegen, wird automatisch eine Farbe ausgewählt, die im Kontrast zur Hintergrundfarbe des Logos steht und der Text 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 beim Schließen des Tabs automatisch zurückgesetzt.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in demselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.

setIcon()

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

Legt das Symbol für die Aktion fest. Das Symbol kann entweder als Pfad zu einer Bilddatei oder als Pixeldaten eines Canvas-Elements oder als Wörterbuch von einem dieser Elemente 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 festzulegende 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. '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 Bildschirmgröße passen, scale entspricht, wird ein Bild mit der Größe scale × n ausgewählt, wobei n die Größe des Symbols auf 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 beim Schließen des Tabs automatisch zurückgesetzt.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Chrome 96 und höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in demselben 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 Wert auf einen leeren String festgelegt ist (''), wird kein Pop-up angezeigt.

    • tabId

      number optional

      Die Änderung wird nur angewendet, wenn ein bestimmter Tab ausgewählt ist. Wird beim Schließen des Tabs automatisch zurückgesetzt.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in demselben 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

      Zeichenfolge, die die Aktion anzeigen soll, wenn der Mauszeiger darüber bewegt wird.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Versprechen werden in Manifest V3 und höher unterstützt, aber Callbacks werden aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an das Callback ü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 benutzerdefinierte Einstellungen für die Aktion einer Erweiterung geändert werden.

Parameter