chrome.browserAction

refresh date: 2026-09-25 robots: noindex

Beschreibung

Mit Browseraktionen können Sie Symbole in der Hauptsymbolleiste von Google Chrome rechts neben der Adressleiste platzieren. Zusätzlich zu ihrem Symbol kann eine Browseraktion eine Kurzinfo, ein Badge und ein Pop-up haben.

Verfügbarkeit

≤ MV2

In der folgenden Abbildung ist das bunte Quadrat rechts neben der Adressleiste das Symbol für eine Browseraktion. Darunter ist ein Pop-up zu sehen.

Wenn Sie ein Symbol erstellen möchten, das nicht immer aktiv ist, verwenden Sie eine Seitenaktion anstelle einer Browseraktion.

Manifest

Registrieren Sie die Browseraktion im Erweiterungsmanifest so:

{
  "name": "My extension",
  ...
  "browser_action": {
    "default_icon": {                // optional
      "16": "images/icon16.png",     // optional
      "24": "images/icon24.png",     // optional
      "32": "images/icon32.png"      // optional
    },
    "default_title": "Google Mail",  // optional, shown in tooltip
    "default_popup": "popup.html"    // optional
  },
  ...
}

Sie können ein Symbol in einer beliebigen Größe für Chrome bereitstellen. Chrome wählt dann das Symbol aus, das der gewünschten Größe am nächsten kommt, und skaliert es auf die entsprechende Größe, um den 16-dip-Bereich auszufüllen. Wenn die genaue Größe jedoch nicht angegeben ist, kann diese Skalierung dazu führen, dass das Symbol an Details verliert oder unscharf aussieht.

Da Geräte mit weniger gängigen Skalierungsfaktoren wie 1,5-fach oder 1,2-fach immer häufiger werden, empfehlen wir, mehrere Größen für Ihre Symbole bereitzustellen. So ist auch sichergestellt, dass ihr keine weiteren Symbole bereitstellen müsst, falls sich die Anzeigegröße des Symbols ändert.

Die alte Syntax zum Registrieren des Standardsymbols wird weiterhin unterstützt:

{
  "name": "My extension",
  ...
  "browser_action": {
    ...
    "default_icon": "images/icon32.png"  // optional
    // equivalent to "default_icon": { "32": "images/icon32.png" }
  },
  ...
}

Teile der Benutzeroberfläche

Eine Browseraktion kann ein Symbol, eine Kurzinfo, ein Badge und ein Pop-up haben.

Symbol

Die Symbole für Browseraktionen in Chrome sind 16 DIPs (geräteunabhängige Pixel) breit und hoch. Größere Symbole werden entsprechend angepasst. Die besten Ergebnisse erzielen Sie jedoch mit einem quadratischen Symbol mit 16 dip.

Sie haben zwei Möglichkeiten, das Symbol festzulegen: mit einem statischen Bild oder mit dem HTML5-canvas-Element. Die Verwendung statischer Bilder ist für einfache Anwendungen einfacher, aber mit dem Canvas-Element können Sie dynamischere Benutzeroberflächen erstellen, z. B. flüssige Animationen.

Statische Bilder können in jedem Format vorliegen, das von WebKit angezeigt werden kann, einschließlich BMP, GIF, ICO, JPEG oder PNG. Bei entpackten Erweiterungen müssen Bilder im PNG-Format vorliegen.

Wenn Sie das Symbol festlegen möchten, verwenden Sie das Feld default_icon von browser_action im Manifest oder rufen Sie die Methode browserAction.setIcon auf.

Damit das Symbol richtig angezeigt wird, wenn die Pixeldichte des Bildschirms (Verhältnis size_in_pixel / size_in_dip) nicht 1 ist, kann das Symbol als Satz von Bildern mit unterschiedlichen Größen definiert werden. Das tatsächlich anzuzeigende Bild wird aus dem Set ausgewählt, das am besten zur Pixelgröße von 16 dip passt. Der Symbolsatz kann Symbolspezifikationen in beliebiger Größe enthalten. Chrome wählt die am besten geeignete aus.

Kurzinfo

Wenn Sie die Kurzinfo festlegen möchten, verwenden Sie das Feld default_title von browser_action im Manifest oder rufen Sie die Methode browserAction.setTitle auf. Du kannst für das Feld default_title länderspezifische Strings angeben. Weitere Informationen findest du unter Internationalisierung.

Badge

Browseraktionen können optional ein Badge anzeigen – ein Text, der über dem Symbol eingeblendet wird. Mit Badges lässt sich die Browseraktion ganz einfach aktualisieren, um eine kleine Menge an Informationen zum Status der Erweiterung anzuzeigen.

Da der Platz auf dem Badge begrenzt ist, sollte er maximal 4 Zeichen lang sein.

Legen Sie den Text und die Farbe des Logos mit browserAction.setBadgeText bzw. browserAction.setBadgeBackgroundColor fest.

Wenn eine Browseraktion ein Pop-up hat, wird es angezeigt, wenn der Nutzer auf das Symbol der Erweiterung klickt. Das Pop-up kann beliebige HTML-Inhalte enthalten und wird automatisch an die Größe des Inhalts angepasst. Das Pop-up darf nicht kleiner als 25 × 25 und nicht größer als 800 × 600 sein.

Wenn Sie Ihrer Browseraktion ein Pop-up hinzufügen möchten, erstellen Sie eine HTML-Datei mit dem Inhalt des Pop-ups. Geben Sie die HTML-Datei im Feld default_popup von browser_action im Manifest an oder rufen Sie die Methode browserAction.setPopup auf.

Tipps

Beachten Sie die folgenden Richtlinien, um die beste visuelle Wirkung zu erzielen:

  • Verwenden Sie Browseraktionen für Funktionen, die auf den meisten Seiten sinnvoll sind.
  • Verwenden Sie keine Browseraktionen für Funktionen, die nur für wenige Seiten sinnvoll sind. Verwenden Sie stattdessen Seitenaktionen.
  • Verwenden Sie große, farbenfrohe Symbole, die den 16 × 16 dip großen Bereich optimal nutzen. Symbole für Browseraktionen sollten etwas größer und schwerer wirken als Symbole für Seitenaktionen.
  • Versuchen Sie nicht, das einfarbige Menüsymbol von Google Chrome nachzuahmen. Das funktioniert nicht gut mit Designs und Erweiterungen sollten sich ohnehin etwas abheben.
  • Verwenden Sie Alpha-Transparenz, um Ihrem Symbol weiche Kanten zu verleihen. Da viele Nutzer Designs verwenden, sollte Ihr Symbol auf verschiedenen Hintergrundfarben gut aussehen.
  • Animieren Sie Ihr Symbol nicht ständig. Das ist einfach nur nervig.

Beispiele

Einfache Beispiele für die Verwendung von Browseraktionen finden Sie im Verzeichnis examples/api/browserAction. Weitere Beispiele und Hilfe zum Aufrufen des Quellcodes finden Sie unter Beispiele.

Typen

TabDetails

Chrome 88 oder höher

Attribute

  • tabId

    number optional

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

Methoden

disable()

Promise
chrome.browserAction.disable(
  tabId?: number,
  callback?: function,
)
: Promise<void>

Deaktiviert die Browseraktion für einen Tab.

Parameter

  • tabId

    number optional

    Die ID des Tabs, für den die Browseraktion geändert werden soll.

  • callback

    function optional

    Chrome 67 oder höher

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 88 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

enable()

Promise
chrome.browserAction.enable(
  tabId?: number,
  callback?: function,
)
: Promise<void>

Aktiviert die Browseraktion für einen Tab. Die Standardeinstellung ist „Aktiviert“.

Parameter

  • tabId

    number optional

    Die ID des Tabs, für den die Browseraktion geändert werden soll.

  • callback

    function optional

    Chrome 67 oder höher

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 88 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getBadgeBackgroundColor()

Promise
chrome.browserAction.getBadgeBackgroundColor(
  details: TabDetails,
  callback?: function,
)
: Promise<extensionTypes.ColorArray>

Ruft die Hintergrundfarbe der Browseraktion ab.

Parameter

Ausgabe

  • Chrome 88 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getBadgeText()

Promise
chrome.browserAction.getBadgeText(
  details: TabDetails,
  callback?: function,
)
: Promise<string>

Ruft den Badge-Text der Browseraktion ab. Wenn kein Tab angegeben ist, wird der nicht tabspezifische Badge-Text zurückgegeben.

Parameter

  • Details
  • callback

    function optional

    Der Parameter callback sieht so aus:

    (result: string) => void

    • Ergebnis

      String

Ausgabe

  • Promise<string>

    Chrome 88 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getPopup()

Promise
chrome.browserAction.getPopup(
  details: TabDetails,
  callback?: function,
)
: Promise<string>

Ruft das HTML-Dokument ab, das als Pop-up für diese Browseraktion festgelegt ist.

Parameter

  • Details
  • callback

    function optional

    Der Parameter callback sieht so aus:

    (result: string) => void

    • Ergebnis

      String

Ausgabe

  • Promise<string>

    Chrome 88 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getTitle()

Promise
chrome.browserAction.getTitle(
  details: TabDetails,
  callback?: function,
)
: Promise<string>

Ruft den Titel der Browseraktion ab.

Parameter

  • Details
  • callback

    function optional

    Der Parameter callback sieht so aus:

    (result: string) => void

    • Ergebnis

      String

Ausgabe

  • Promise<string>

    Chrome 88 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

setBadgeBackgroundColor()

Promise
chrome.browserAction.setBadgeBackgroundColor(
  details: object,
  callback?: function,
)
: Promise<void>

Legt die Hintergrundfarbe für das Logo fest.

Parameter

  • Details

    Objekt

    • Farbe

      string | ColorArray

      Ein Array mit vier Ganzzahlen im Bereich von 0 bis 255, die die RGBA-Farbe des Badges bilden. Kann auch ein String mit einem CSS-Hex-Farbwert sein, z. B. #FF0000 oder #F00 (rot). Farben werden mit voller Deckkraft gerendert.

    • 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

    Chrome 67 oder höher

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 88 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

setBadgeText()

Promise
chrome.browserAction.setBadgeText(
  details: object,
  callback?: function,
)
: Promise<void>

Legt den Badge-Text für die Browseraktion fest. Das Badge 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, aber nur etwa vier passen in den Bereich. 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 standardmäßig der globale Badge-Text verwendet.

  • callback

    function optional

    Chrome 67 oder höher

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 88 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

setIcon()

Promise
chrome.browserAction.setIcon(
  details: object,
  callback?: function,
)
: Promise<void>

Legt das Symbol für die Browseraktion fest. Das Symbol kann als Pfad zu einer Bilddatei, als Pixeldaten aus einem Canvas-Element oder als Wörterbuch eines dieser Elemente angegeben werden. Es muss entweder die Property path oder die Property imageData angegeben werden.

Parameter

  • Details

    Objekt

    • imageData

      ImageData | Objekt optional

      Entweder ein ImageData-Objekt oder ein Wörterbuch {size -> ImageData}, das ein festzulegendes Symbol darstellt. Wenn das Symbol als Wörterbuch angegeben ist, wird das verwendete Bild je nach Pixeldichte des Bildschirms ausgewählt. Wenn die Anzahl der Bildpixel, die in eine Bildschirmeinheit passen, scale beträgt, wird ein 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 | Objekt optional

      Entweder ein relativer Bildpfad oder ein Wörterbuch {size -> relative image path}, das auf ein festzulegendes Symbol verweist. Wenn das Symbol als Wörterbuch angegeben ist, wird das verwendete Bild je nach Pixeldichte des Bildschirms ausgewählt. Wenn die Anzahl der Bildpixel, die in eine Bildschirmeinheit passen, scale beträgt, wird ein 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. Beachten Sie, dass „details.path = foo“ „details.path = {'16': foo}“ entspricht.

    • 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 116 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

setPopup()

Promise
chrome.browserAction.setPopup(
  details: object,
  callback?: function,
)
: Promise<void>

Legt das HTML-Dokument fest, das als Pop-up geöffnet werden soll, wenn der Nutzer auf das Symbol für die Browseraktion klickt.

Parameter

  • Details

    Objekt

    • Pop-up

      String

      Der relative Pfad zur HTML-Datei, die in einem Pop-up angezeigt werden soll. Wenn die Richtlinie auf einen leeren String ('') gesetzt 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

    Chrome 67 oder höher

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 88 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

setTitle()

Promise
chrome.browserAction.setTitle(
  details: object,
  callback?: function,
)
: Promise<void>

Legt den Titel der Browseraktion fest. Dieser Titel 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 bei der Browseraktion angezeigt werden soll, wenn der Mauszeiger darauf bewegt wird.

  • callback

    function optional

    Chrome 67 oder höher

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 88 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

Ereignisse

onClicked

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

Wird ausgelöst, wenn auf ein Symbol für eine Browseraktion geklickt wird. Wird nicht ausgelöst, wenn die Browseraktion ein Pop-up hat.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (tab: tabs.Tab) => void