Beschreibung
Mithilfe von Browseraktionen können Sie Symbole in der Hauptsymbolleiste von Google Chrome rechts neben der Adressleiste platzieren. Neben dem Symbol kann eine Browseraktion eine Kurzinfo, ein Logo und ein Pop-up enthalten.
Verfügbarkeit
In der folgenden Abbildung ist das mehrfarbige Quadrat rechts neben der Adressleiste das Symbol für ein Browseraktion. Unter dem Symbol befindet sich ein Pop-up-Fenster.
Wenn Sie ein Symbol erstellen möchten, das nicht immer aktiv ist, verwenden Sie statt eines Browsers eine Seitenaktion. Aktion ausführen.
Manifest
Registrieren Sie die Browseraktion wie folgt im Manifest der Erweiterung:
{
"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 beliebiges Größensymbol zur Verwendung in Chrome angeben. Chrome wählt dann das nächstgelegene Symbol aus und skaliert es auf die richtige Größe an, um den 16-Dip-Bereich auszufüllen. Wenn jedoch keine genaue Größe angegeben wird, Skalierung kann dazu führen, dass das Symbol Details verliert oder unscharf erscheint.
Da Geräte mit weniger gängigen Skalierungsfaktoren wie 1,5- oder 1,2-fach immer häufiger verwendet werden, wird empfohlen, mehrere Größen für Ihre Symbole bereitzustellen. Dadurch wird auch sichergestellt, geändert wird, müssen Sie nichts weiter tun, um verschiedene Symbole bereitzustellen!
Die alte Syntax zur Registrierung 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" }
},
...
}
Bestandteile der Benutzeroberfläche
Eine Browseraktion kann ein Symbol, eine Kurzinfo, ein Logo und ein Pop-up enthalten.
Symbol
Die Browser-Aktionssymbole in Chrome sind 16 Grad (geräteunabhängige Pixel) breit und hoch. Größer Symbole werden an die Größe angepasst. Die besten Ergebnisse erzielen Sie jedoch mit einem quadratischen Symbol mit 16 Dip-Punkten.
Sie können das Symbol auf zwei Arten festlegen: über ein statisches Bild oder über das HTML5-Canvas-Element. Mit Für einfache Anwendungen sind statische Bilder einfacher. Sie können jedoch dynamischere Benutzeroberflächen erstellen, z. B. mit dem Canvas-Element.
Statische Bilder können in jedem Format vorliegen, das WebKit anzeigen kann, einschließlich BMP, GIF, ICO, JPEG oder PNG. Für entpackten Erweiterungen müssen die Bilder im PNG-Format vorliegen.
Verwenden Sie zum Festlegen des Symbols das Feld default_icon von default_icon im Manifest oder rufen Sie
Methode browserAction.setIcon
Damit das Symbol richtig angezeigt wird, wenn die Bildschirmpixeldichte (Verhältnis size_in_pixel / size_in_dip
)
als 1, kann das Symbol als Bildersatz mit unterschiedlichen Größen definiert werden. Das eigentliche Bild für
Display so aus, dass es am besten zur Pixelgröße von 16 Dip passt. Der Symbolsatz kann folgende Elemente enthalten:
keine Größensymbole angeben, und Chrome wählt das am besten geeignete aus.
Kurzinfo
Verwenden Sie zum Festlegen der Kurzinfo das Feld default_title von default_title im Manifest oder
rufen Sie die Methode browserAction.setTitle
auf. Sie können gebietsspezifische Zeichenfolgen für die
default_title; Weitere Informationen findest du unter Internationalisierung.
Badge
In Browseraktionen kann optional ein Logo angezeigt werden. Das ist ein Text, der über dem Symbol eingeblendet wird. Logos erleichtern es Ihnen, die Browseraktion so zu aktualisieren, dass nur wenige Informationen zum Status der Erweiterung.
Da der Platz für das Logo begrenzt ist, darf es maximal 4 Zeichen lang sein.
Legen Sie mit browserAction.setBadgeText
den Text und die Farbe des Logos fest.
browserAction.setBadgeBackgroundColor
.
Pop-up
Wenn eine Browseraktion ein Pop-up-Fenster hat, wird dieses angezeigt, wenn der Nutzer auf das Symbol der Erweiterung klickt. Die Pop-up kann beliebige HTML-Inhalte enthalten und wird automatisch an den Inhalt angepasst. Das Pop-up-Fenster darf nicht kleiner als 25 x 25 und nicht größer als 800 x 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 default_popup im Manifest oder rufen Sie die Methode
browserAction.setPopup
-Methode.
Tipps
Beachten Sie die folgenden Richtlinien, um eine optimale visuelle Wirkung zu erzielen:
- Verwenden Sie Browseraktionen für Funktionen, die auf den meisten Seiten sinnvoll sind.
- Verwenden Sie Browseraktionen nicht für Funktionen, die nur für wenige Seiten sinnvoll sind. Seite verwenden Aktionen.
- Verwenden Sie große, farbenfrohe Symbole, die die Fläche von 16 × 16 dip optimal ausnutzen. Browseraktionssymbole etwas größer und schwerer erscheinen als Aktionssymbole für die Seite.
- Versuchen Sie nicht, das monochrome Menüsymbol von Google Chrome zu imitieren. Das funktioniert nicht gut mit und Erweiterungen sollten sich ein wenig abheben.
- Verwenden Sie Alpha-Transparenz, um Ihrem Symbol weiche Kanten hinzuzufügen. Da viele Nutzer Designs verwenden, Symbol sollte bei einer Vielzahl von Hintergrundfarben gut aussehen.
- Animieren Sie Ihr Symbol nicht ständig. Das ist einfach nervig.
Beispiele
Einfache Beispiele für die Verwendung von Browseraktionen finden Sie unter examples/api/browserAction. -Verzeichnis. Weitere Beispiele und Hilfe zum Aufrufen des Quellcodes finden Sie unter Beispiele.
Typen
ColorArray
Typ
[Zahl, Zahl, Zahl, Zahl]
ImageDataType
Pixeldaten für ein Bild. Muss ein ImageData-Objekt sein. zum Beispiel aus einem canvas
-Element.
Typ
ImageData
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.
Methoden
disable()
chrome.browserAction.disable(
tabId?: number,
callback?: function,
)
Deaktiviert die Browseraktion für einen Tab.
Parameter
-
tabId
Zahl optional
Die ID des Tabs, für den die Browseraktion geändert werden soll.
-
callback
Funktion optional
Chrome 67 und höherDer Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>() => void
Gibt Folgendes zurück:
-
Versprechen<void>
Chrome (ab Version 88)Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
enable()
chrome.browserAction.enable(
tabId?: number,
callback?: function,
)
Aktiviert die Browseraktion für einen Tab. Die Standardeinstellung ist „Aktiviert“.
Parameter
-
tabId
Zahl optional
Die ID des Tabs, für den die Browseraktion geändert werden soll.
-
callback
Funktion optional
Chrome 67 und höherDer Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>() => void
Gibt Folgendes zurück:
-
Versprechen<void>
Chrome (ab Version 88)Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getBadgeBackgroundColor()
chrome.browserAction.getBadgeBackgroundColor(
details: TabDetails,
callback?: function,
)
Ruft die Hintergrundfarbe der Browseraktion ab.
Parameter
-
Details
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(result: ColorArray) => void
-
Ergebnis
-
Gibt Folgendes zurück:
-
Promise<ColorArray>
Chrome (ab Version 88)Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getBadgeText()
chrome.browserAction.getBadgeText(
details: TabDetails,
callback?: function,
)
Ruft den Badge-Text der Browseraktion ab. Wenn kein Tab angegeben wird, wird der nicht tabulatorspezifische Logotext zurückgegeben.
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<string>
Chrome (ab Version 88)Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getPopup()
chrome.browserAction.getPopup(
details: TabDetails,
callback?: function,
)
Ruft das HTML-Dokument ab, das als Pop-up für diese Browseraktion 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<string>
Chrome (ab Version 88)Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getTitle()
chrome.browserAction.getTitle(
details: TabDetails,
callback?: function,
)
Ruft den Titel der Browseraktion 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<string>
Chrome (ab Version 88)Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
setBadgeBackgroundColor()
chrome.browserAction.setBadgeBackgroundColor(
details: object,
callback?: function,
)
Legt die Hintergrundfarbe des Logos fest.
Parameter
-
Details
Objekt
-
Farbe
string | ColorArray
Ein Array von vier Ganzzahlen im Bereich von 0 bis 255, aus denen die RGBA-Farbe des Logos besteht. Kann auch ein String mit einem CSS-Hexadezimalfarbwert sein. z. B.
#FF0000
oder#F00
(rot). Rendert Farben mit voller Deckkraft. -
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
Chrome 67 und höherDer Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>() => void
Gibt Folgendes zurück:
-
Versprechen<void>
Chrome (ab Version 88)Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
setBadgeText()
chrome.browserAction.setBadgeText(
details: object,
callback?: function,
)
Legt den Badge-Text für die Browseraktion 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. WenntabId
angegeben undtext
null ist, wird der Text auf dem angegebenen Tab gelöscht und standardmäßig der globale Logotext verwendet.
-
-
callback
Funktion optional
Chrome 67 und höherDer Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>() => void
Gibt Folgendes zurück:
-
Versprechen<void>
Chrome (ab Version 88)Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
setIcon()
chrome.browserAction.setIcon(
details: object,
callback?: function,
)
Legt das Symbol für die Browseraktion fest. Das Symbol kann als Pfad zu einer Bilddatei, als Pixeldaten eines Canvas-Elements oder als Dictionary aus einem dieser Elemente angegeben werden. Es muss entweder das Attribut path
oder das Attribut imageData
angegeben werden.
Parameter
-
Details
Objekt
-
imageData
ImageData | Objekt optional
Entweder ein ImageData-Objekt oder ein Wörterbuch {size -> ImageData}, die ein festzulegendes Symbol darstellen. Wenn das Symbol als Wörterbuch angegeben ist, wird das verwendete 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ößescale
× 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 ein Symbol verweist, das Sie festlegen möchten. Wenn das Symbol als Wörterbuch angegeben ist, wird das verwendete 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ößescale
× 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 116 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
setPopup()
chrome.browserAction.setPopup(
details: object,
callback?: function,
)
Legt fest, dass das HTML-Dokument als Pop-up geöffnet wird, wenn der Nutzer auf das Aktionssymbol des Browsers 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
Chrome 67 und höherDer Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>() => void
Gibt Folgendes zurück:
-
Versprechen<void>
Chrome (ab Version 88)Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
setTitle()
chrome.browserAction.setTitle(
details: object,
callback?: function,
)
Legt den Titel der Browseraktion fest. Dieser Titel 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 Browseraktion anzeigen soll, wenn der Mauszeiger darüber bewegt wird.
-
-
callback
Funktion optional
Chrome 67 und höherDer Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>() => void
Gibt Folgendes zurück:
-
Versprechen<void>
Chrome (ab Version 88)Promise-Objekte 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 Browseraktionssymbol geklickt wird Wird nicht ausgelöst, wenn die Browseraktion ein Pop-up-Fenster enthält.