browser_action
Typ | Object |
---|---|
Verpflichtend | Nein |
Manifest-Version | 2 |
Beispiel |
json
|
Eine Browser-Aktion ist ein Button, den Ihre Erweiterung zur Toolbar des Browsers hinzufügt. Der Button hat ein Icon und kann optional ein Popup haben, dessen Inhalt mittels HTML, CSS und JavaScript festgelegt wird.
Dieser Schlüssel wird in Manifest V3-Erweiterungen durch action
ersetzt.
Sie müssen diesen Schlüssel angeben, um einen Button in der Browser-Toolbar in Ihre Erweiterung einzufügen. Wenn er angegeben ist, können Sie den Button programmatisch über die browserAction
API manipulieren.
Wenn Sie ein Popup bereitstellen, öffnet sich dieses, wenn der Benutzer auf den Button klickt, und Ihr JavaScript, das im Popup ausgeführt wird, kann die Benutzerinteraktion damit steuern. Wenn Sie kein Popup bereitstellen, wird ein Klick-Ereignis an die Hintergrundskripte Ihrer Erweiterung gesendet, wenn der Benutzer auf den Button klickt.
Syntax
Der Schlüssel browser_action
ist ein Objekt, das eine der folgenden, alle optionalen, Eigenschaften haben kann:
Name | Typ | Beschreibung |
---|---|---|
browser_style
Optional |
Boolean |
Optional, Standardwert ist
Setzen Sie
In Firefox kann das Stylesheet unter
chrome://browser/content/extension.css oder
chrome://browser/content/extension-mac.css auf macOS eingesehen werden. Beachten Sie beim Festlegen von Dimensionen, dass dieses Stylesheet
Browser-Stile beschreibt die Klassen, die Sie auf Elemente im Popup anwenden können, um bestimmte Stile zu erhalten.
Die
latest-download
Beispiel-Erweiterung verwendet
Hinweis: Wenn Sie
|
default_area
Optional |
String |
Definiert den Teil des Browsers, in dem der Button zunächst platziert wird. Dies ist ein String, der einen der vier Werte annehmen kann:
Diese Eigenschaft wird nur in Firefox unterstützt. Diese Eigenschaft ist optional und hat standardmäßig den Wert "menupanel".
Firefox speichert die Eine Erweiterung kann den Standort des Buttons nach der Installation nicht ändern, aber der Benutzer kann den Button möglicherweise über den eingebauten UI-Anpassungsmechanismus des Browsers verschieben. |
default_icon
Optional |
Object oder String |
Verwenden Sie dies, um ein oder mehrere Icons für die Browser-Aktion anzugeben. Das Icon wird standardmäßig in der Browser-Toolbar angezeigt. Icons werden als URLs angegeben, die relativ zur manifest.json-Datei selbst sind. Sie können eine einzelne Icon-Datei angeben, indem Sie hier einen String bereitstellen: json
Um mehrere Icons in verschiedenen Größen anzugeben, geben Sie hier ein Objekt an. Der Name jeder Eigenschaft ist die Höhe des Icons in Pixel und muss in einen Integer umwandelbar sein. Der Wert ist die URL. Zum Beispiel: json
Sie können nicht mehrere Icons derselben Größe angeben. |
default_popup
Optional |
String |
Der Pfad zu einer HTML-Datei, die die Spezifikation des Popups enthält.
Die HTML-Datei kann CSS- und JavaScript-Dateien einbinden mit
Im Gegensatz zu einer normalen Webseite kann JavaScript, das im Popup läuft, auf alle WebExtension-APIs zugreifen (natürlich vorausgesetzt, dass die Erweiterung die entsprechenden Berechtigungen hat). Dies ist eine lokalisierbare Eigenschaft. |
default_title
Optional |
String |
Tooltip für den Button, der angezeigt wird, wenn der Benutzer mit der Maus über den Button fährt. Wenn der Button zum Menü-Panel des Browsers hinzugefügt wird, wird dieser Tooltip auch unter dem App-Icon angezeigt. Dies ist eine lokalisierbare Eigenschaft. |
theme_icons
Optional |
Array |
Diese Eigenschaft erlaubt es Ihnen, verschiedene Icons für Themes anzugeben, je nachdem, ob Firefox erkennt, dass das Theme dunklen oder hellen Text verwendet.
Wenn diese Eigenschaft vorhanden ist, handelt es sich um ein Array, das mindestens ein
Icons werden als URLs angegeben, die relativ zur manifest.json-Datei sind.
Sie sollten 16x16 und 32x32 (für Retina-Displays)
|
Wahl der Icon-Größen
Das Icon der Browser-Aktion muss möglicherweise in verschiedenen Größen in unterschiedlichen Kontexten angezeigt werden:
- Das Icon wird in der Browser-Toolbar angezeigt. Ältere Versionen von Firefox unterstützten die Option, das Icon im Menü-Panel des Browsers zu platzieren (das Panel, das sich öffnet, wenn der Benutzer auf das "Hamburger"-Icon klickt). In diesen Versionen von Firefox war das Icon im Menü-Panel größer als das Icon in der Toolbar.
- Auf einem hochauflösenden Display wie einem Retina-Bildschirm müssen Icons doppelt so groß sein.
Wenn der Browser kein Icon in der richtigen Größe in einer bestimmten Situation finden kann, wählt er den am besten passenden und skaliert ihn. Skalierung kann dazu führen, dass das Icon verschwommen aussieht, daher ist es wichtig, die Icon-Größen sorgfältig auszuwählen.
Es gibt zwei Hauptansätze dafür. Sie können ein einzelnes Icon als SVG-Datei bereitstellen, das dann korrekt skaliert wird:
"default_icon": "path/to/geo.svg"
Alternativ können Sie mehrere Icons in unterschiedlichen Größen bereitstellen, und der Browser wird den am besten passenden auswählen.
In Firefox:
- Die Standardhöhe und -breite für Icons in der Toolbar ist 16 *
window.devicePixelRatio
. - Die Standardhöhe und -breite für Icons im Menü-Panel ist 32 *
window.devicePixelRatio
.
So können Sie Icons bereitstellen, die auf normalen und Retina-Displays genau passen, indem Sie drei Icon-Dateien bereitstellen und sie so angeben:
"default_icon": {
"16": "path/to/geo-16.png",
"32": "path/to/geo-32.png",
"64": "path/to/geo-64.png"
}
Wenn Firefox keine genaue Übereinstimmung für die gewünschte Größe finden kann, wählt es das kleinste angegebene Icon, das größer als die ideale Größe ist. Wenn alle Icons kleiner als die ideale Größe sind, wählt es das größte angegebene Icon.
Beispiel
"browser_action": {
"default_icon": {
"16": "button/geo-16.png",
"32": "button/geo-32.png"
}
}
Eine Browser-Aktion nur mit einem Icon, das in 2 verschiedenen Größen angegeben ist. Die Hintergrundskripte der Erweiterung können Klick-Ereignisse empfangen, wenn der Benutzer auf das Icon klickt, mit Code wie diesem:
browser.browserAction.onClicked.addListener(handleClick);
"browser_action": {
"default_icon": {
"16": "button/geo-16.png",
"32": "button/geo-32.png"
},
"default_title": "Whereami?",
"default_popup": "popup/geo.html"
}
Eine Browser-Aktion mit einem Icon, einem Titel und einem Popup. Das Popup wird angezeigt, wenn der Benutzer auf den Button klickt.
Für eine einfache, aber vollständige Erweiterung, die eine Browser-Aktion verwendet, siehe das Walkthrough-Tutorial.