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 (ab Version 88) 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 als "manifest_version" den Wert 3 an und fügen Sie den Schlüssel "action" in deiner Manifestdatei.

{
  "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

Symbol

Das Symbol ist das Hauptbild in der Symbolleiste für Ihre Erweiterung und wird durch die Taste "default_icon" festgelegt in den "action"-Schlüssel deines Manifests. 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 auszuwählen, welcher Bildmaßstab verwendet werden soll. Wird keine genaue Übereinstimmung gefunden, wählt Chrome die am ehesten passende Übereinstimmung aus. und skaliert es, um es an das Bild anzupassen, was die Bildqualität beeinträchtigen kann.

Weil Geräte mit weniger gängigen Skalierungsfaktoren wie 1,5- oder 1,2-fachen immer mehr empfehlen wir Ihnen, mehrere Größen für Ihre Symbole zur Verfügung zu stellen. Dies gilt auch für So wird Ihre Erweiterung zukunftssicher, um potenzielle Änderungen der Symbolanzeigegröße zu verhindern. Sie können jedoch Wenn Sie nur eine Größe angeben, kann der Schlüssel "default_icon" auch auf eine mit dem Pfad zu einem einzelnen Symbol anstelle eines Wörterbuchs.

Sie können auch action.setIcon() aufrufen, um das Symbol der Erweiterung programmatisch festzulegen indem Sie einen anderen Bildpfad angeben oder mithilfe des HTML-Canvas-Elements ein dynamisch generiertes Symbol bereitstellen. oder bei der Einstellung durch einen Erweiterungs-Service-Worker das offscreen-Element Canvas API erstellen.

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 (aus einer CRX-Datei installiert) können Bilder in den meisten Formaten vorliegen, die von Blink kann die Rendering-Engine darstellen, einschließlich PNG, JPEG, BMP, ICO und andere. 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 Ansicht in der Symbolleiste. Sie ist auch in dem barrierefreien Text enthalten, der von Screenreadern vorgelesen wird, wenn die Schaltfläche fokussiert.

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

In Aktionen kann optional ein „Badge“ angezeigt werden - Text, der über das Symbol gelegt wird. So können Sie aktualisieren Sie die Aktion so, dass einige Informationen zum Status der Erweiterung angezeigt werden, wie etwa einen 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() aufrufen und action.setBadgeText(). Im Manifest gibt es keine Standardeinstellung für das Badge. Werte für Logofarben kann entweder ein Array von vier Ganzzahlen zwischen 0 und 255 sein, aus denen die RGBA-Farbe des Logo oder einen String mit einem CSS-Farbwert aus.

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 auf die Aktionsschaltfläche der Erweiterung in der in der Symbolleiste. Das Pop-up-Fenster kann beliebige HTML-Inhalte enthalten und wird automatisch an die Größe angepasst. deren Inhalt. 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" im manifest.json-Datei. Falls diese Eigenschaft vorhanden ist, sollte sie auf einen relativen Pfad innerhalb der Erweiterung verweisen. -Verzeichnis. Er kann auch dynamisch aktualisiert werden, um mithilfe der Methode action.setPopup()-Methode.

Anwendungsfälle

Status pro Tab

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

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

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

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

Aktiviert

Standardmäßig sind Symbolleistenaktionen auf jedem Tab aktiviert (anklickbar). Sie können dies über die action.enable()- und action.disable()-Methoden. Dies betrifft nur, ob das Pop-up (falls vorhanden) oder action.onClicked Ereignis wird an Ihre Erweiterung gesendet. wirkt sich dies nicht auf die Anwesenheit der Aktion aus, in der Symbolleiste.

Beispiele

Die folgenden Beispiele zeigen einige gängige Verwendungsmöglichkeiten von Aktionen in Erweiterungen. Um diese API auszuprobieren, das Action API-Beispiel aus chrome-extension-samples installieren zu erstellen.

Pop-up anzeigen

Es ist üblich, dass eine Erweiterung ein Pop-up anzeigt, wenn der Nutzer auf die Aktion der Erweiterung klickt. Bis Implementieren Sie dies in Ihrer eigenen Erweiterung, deklarieren Sie das Pop-up in Ihrer manifest.json und geben Sie Inhalt, den Chrome im Pop-up-Fenster 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>

Content-Script per Klick einfügen

Erweiterungen werden häufig nach dem Muster die Hauptfunktion der Erweiterung Aktion ausführen. Das folgende Beispiel veranschaulicht dieses Muster. Wenn der Nutzer auf die Aktion klickt, fügt ein Inhaltsskript in die aktuelle Seite ein. Das Content-Skript zeigt dann eine Benachrichtigung an, 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) Verwenden Sie declarativeContent, um die Aktion für bestimmte 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

    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 und höher

Die Sammlung benutzerdefinierter Einstellungen für die Aktion einer Erweiterung.

Attribute

  • isOnToolbar

    boolean

    Gibt an, ob das Aktionssymbol der Erweiterung im Browserfenster sichtbar ist übergeordnete Symbolleiste an, d.h., ob die Erweiterung vom Nutzer "angepinnt" wurde.

UserSettingsChange

Ausstehend

Attribute

  • isOnToolbar

    Boolescher Wert optional

    Gibt an, ob das Aktionssymbol der Erweiterung im Browserfenster sichtbar ist übergeordnete Symbolleiste an, d.h., ob die Erweiterung vom Nutzer "angepinnt" wurde.

Methoden

disable()

<ph type="x-smartling-placeholder"></ph> 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: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

enable()

<ph type="x-smartling-placeholder"></ph> 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: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

getBadgeBackgroundColor()

<ph type="x-smartling-placeholder"></ph> Versprechen
chrome.action.getBadgeBackgroundColor(
  details: TabDetails,
  callback?: function,
)

Ruft die Hintergrundfarbe der Aktion ab.

Parameter

  • Details
  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    (result: ColorArray) => void

Gibt Folgendes zurück:

  • Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

getBadgeText()

<ph type="x-smartling-placeholder"></ph> 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 tabellarischer Badge-Text angegeben.

Parameter

  • Details
  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    (result: string) => void

    • Ergebnis

      String

Gibt Folgendes zurück:

  • Promise&lt;string&gt;

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

getBadgeTextColor()

<ph type="x-smartling-placeholder"></ph> Versprechen Chrome 110 oder höher
chrome.action.getBadgeTextColor(
  details: TabDetails,
  callback?: function,
)

Ruft die Textfarbe der Aktion ab.

Parameter

  • Details
  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    (result: ColorArray) => void

Gibt Folgendes zurück:

  • Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

getPopup()

<ph type="x-smartling-placeholder"></ph> 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: <ph type="x-smartling-placeholder"></ph>

    (result: string) => void

    • Ergebnis

      String

Gibt Folgendes zurück:

  • Promise&lt;string&gt;

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

getTitle()

<ph type="x-smartling-placeholder"></ph> 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: <ph type="x-smartling-placeholder"></ph>

    (result: string) => void

    • Ergebnis

      String

Gibt Folgendes zurück:

  • Promise&lt;string&gt;

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

getUserSettings()

<ph type="x-smartling-placeholder"></ph> Versprechen Chrome 91 und 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: <ph type="x-smartling-placeholder"></ph>

    (userSettings: UserSettings) => void

Gibt Folgendes zurück:

  • Promise&lt;UserSettings&gt;

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

isEnabled()

<ph type="x-smartling-placeholder"></ph> Versprechen Chrome 110 oder 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

    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: <ph type="x-smartling-placeholder"></ph>

    (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 sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

openPopup()

<ph type="x-smartling-placeholder"></ph> Versprechen Chrome 127 oder 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 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: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

setBadgeBackgroundColor()

<ph type="x-smartling-placeholder"></ph> 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: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

setBadgeText()

<ph type="x-smartling-placeholder"></ph> 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: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

setBadgeTextColor()

<ph type="x-smartling-placeholder"></ph> Versprechen Chrome 110 oder höher
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: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

setIcon()

<ph type="x-smartling-placeholder"></ph> 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. Beachten Sie, dass '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" entspricht 'details.path = {'16': foo}'

    • 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: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 96 und höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

setPopup()

<ph type="x-smartling-placeholder"></ph> 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: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

setTitle()

<ph type="x-smartling-placeholder"></ph> 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: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die 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: <ph type="x-smartling-placeholder"></ph>

    (tab: tabs.Tab) => void

onUserSettingsChanged

Ausstehend
chrome.action.onUserSettingsChanged.addListener(
  callback: function,
)

Wird ausgelöst, wenn benutzerdefinierte Einstellungen für die Aktion einer Erweiterung geändert werden.

Parameter