chrome.action

Beschreibung

Mit der chrome.action API kannst du das Symbol der Erweiterung in der Google Chrome-Symbolleiste verwalten.

Die Aktionssymbole werden in der Symbolleiste des Browsers neben der Omnibox angezeigt. Nach der Installation erscheinen diese im Erweiterungsmenü (das Puzzleteil-Symbol). 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, um diese API verwenden zu können.

"action"

Wenn Sie die chrome.action API verwenden möchten, geben Sie für "manifest_version" den Wert 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. Ist die Erweiterung nicht darin enthalten, wird sie trotzdem in der Symbolleiste angezeigt, damit Sie auf das Menü der Erweiterung zugreifen können. Aus diesem Grund empfehlen wir, immer mindestens die Schlüssel "action" und "default_icon" anzugeben.

Konzepte und Verwendung

Bestandteile der Benutzeroberfläche

Icon

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 auch action.setIcon() aufrufen, um das Symbol der Erweiterung programmatisch festzulegen. Geben Sie dazu einen anderen Bildpfad oder ein dynamisch generiertes Symbol mithilfe des HTML-Canvas-Elements oder, falls die Einstellung über einen Erweiterungs-Service-Worker vorgenommen wird, die offscreen Canvas API an.

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 ist auch in dem barrierefreien Text enthalten, der von Screenreadern vorgelesen wird, wenn die Schaltfläche hervorgehoben wird.

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

Für Aktionen kann optional ein „Badge“ angezeigt werden – ein Text, der über das Symbol gelegt wird. Auf diese Weise können Sie die Aktion so aktualisieren, dass eine kleine Anzahl von 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.

Zum Erstellen eines Logos können Sie es programmatisch einrichten, indem Sie action.setBadgeBackgroundColor() und action.setBadgeText() aufrufen. Im Manifest gibt es keine Standardeinstellung für das Badge. Logo-Farbwerte können aus einem Array von vier Ganzzahlen zwischen 0 und 255 bestehen, aus denen die RGBA-Farbe des Logos besteht, oder ein String mit einem CSS-Farbe-Wert.

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-Fenster kann beliebige HTML-Inhalte enthalten und wird automatisch an den Inhalt angepasst. Das Pop-up muss zwischen 25 x 25 und 800 x 600 Pixel groß sein.

Das Pop-up wird anfangs 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(),
  },
  () => { ... }
);

Wird das Attribut tabId weggelassen, wird die Einstellung als globale Einstellung behandelt. Tabspezifische Einstellungen haben Vorrang vor globalen Einstellungen.

Aktiviert

Standardmäßig sind Symbolleistenaktionen auf jedem Tab aktiviert (anklickbar). Dies 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 Action API-Beispiel aus dem Repository chrome-extension-sample.

Pop-up anzeigen

Es ist üblich, dass eine Erweiterung ein Pop-up anzeigt, 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>

Content-Script per Klick 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 Content-Skript zeigt dann eine Benachrichtigung an, um zu überprüfen, ob alles erwartungsgemäß funktioniert.

// 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 tabulatorspezifische Status zurückgegeben.

UserSettings

Chrome 91 oder höher

Die Sammlung benutzerdefinierter Einstellungen für die 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).

Methoden

disable()

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

Deaktiviert die Aktion für einen Tab.

Parameter

  • tabId

    Zahl optional

    Die ID des Tabs, dessen Aktion Sie ändern möchten.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Rückgabe

  • 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 Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

enable()

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

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

Parameter

  • tabId

    Zahl optional

    Die ID des Tabs, dessen Aktion Sie ändern möchten.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Rückgabe

  • 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 Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

getBadgeBackgroundColor()

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

Ruft die Hintergrundfarbe der Aktion ab.

Parameter

Rückgabe

  • 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 Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

getBadgeText()

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

Ruft den Badge-Text der Aktion ab. Wird kein Tab angegeben, 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 tabellarischer Badge-Text angegeben.

Parameter

  • Details
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (result: string) => void

    • Ergebnis

      String

Rückgabe

  • Versprechen<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 Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

getBadgeTextColor()

Promise Chrome 110+
chrome.action.getBadgeTextColor(
  details: TabDetails,
  callback?: function,
)

Ruft die Textfarbe der Aktion ab.

Parameter

Rückgabe

  • 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 Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

getPopup()

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

Ruft das HTML-Dokument ab, 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

Rückgabe

  • Versprechen<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 Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

getTitle()

Versprechen
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

Rückgabe

  • Versprechen<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 Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

getUserSettings()

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

Gibt die benutzerdefinierten Einstellungen für die Aktion einer Erweiterung zurück.

Parameter

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (userSettings: UserSettings) => void

Rückgabe

  • Promise<UserSettings>

    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 Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

isEnabled()

Promise Chrome 110+
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

    Zahl optional

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

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (isEnabled: boolean) => void

    • isEnabled

      boolean

      „True“, wenn die Erweiterungsaktion aktiviert ist.

Rückgabe

  • Promise<boolean>

    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 Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

openPopup()

Versprechen Ausstehend
chrome.action.openPopup(
  options?: OpenPopupOptions,
  callback?: function,
)

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

Parameter

  • Optionen

    Gibt Optionen zum Öffnen des Pop-ups an.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Rückgabe

  • 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 Promise wird mit demselben Typ aufgelöst, der an das Callback ü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 aus vier Ganzzahlen im Bereich [0,255], aus denen die RGBA-Farbe des Logos besteht. Zum Beispiel ist undurchsichtiges Rot [255, 0, 0, 255]. Kann auch ein String mit einem CSS-Wert sein, wobei #FF0000 oder #F00 opakrot ist.

    • tabId

      Zahl optional

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

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Rückgabe

  • 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 Promise wird mit demselben Typ aufgelöst, der an das Callback ü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

      Zahl 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. Wird ein leerer String ('') übergeben, wird der Logotext gelöscht. Wenn tabId angegeben und text null ist, wird der Text auf dem angegebenen Tab gelöscht und standardmäßig der globale Logotext verwendet.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Rückgabe

  • 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 Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

setBadgeTextColor()

Promise Chrome 110+
chrome.action.setBadgeTextColor(
  details: object,
  callback?: function,
)

Legt die Textfarbe für das Logo fest.

Parameter

  • Details

    Objekt

    • Farbe

      String | ColorArray

      Ein Array aus vier Ganzzahlen im Bereich [0,255], aus denen die RGBA-Farbe des Logos besteht. 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 Alphawerten, die 0 entsprechen, werden nicht festgelegt und es wird ein Fehler zurückgegeben.

    • tabId

      Zahl optional

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

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Rückgabe

  • 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 Promise wird mit demselben Typ aufgelöst, der an das Callback ü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 der path oder das Attribut imageData angegeben werden.

Parameter

  • Details

    Objekt

    • imageData

      ImageData | Objekt 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 zu verwendende Bild abhängig von der 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.imageData = foo' entspricht 'details.imageData = {'16': foo}'.

    • Pfad

      String | Objekt optional

      Entweder ein relativer Bildpfad oder ein Wörterbuch {size -> relative image path}, der auf das festzulegende Symbol verweist. Wenn das Symbol als Wörterbuch angegeben ist, wird das tatsächlich zu verwendende Bild abhängig von der 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. Beachten Sie, dass "details.path = foo" identisch mit "details.path = {'16': foo}" ist.

    • tabId

      Zahl optional

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

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Rückgabe

  • 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 Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

setPopup()

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

Legt fest, 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

      Zahl optional

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

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Rückgabe

  • 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 Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

setTitle()

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

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

Parameter

  • Details

    Objekt

    • tabId

      Zahl optional

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

    • 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

Rückgabe

  • 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 Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

Veranstaltungen

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