action
Typ | Object |
---|---|
Obligatorisch | Nein |
Manifest-Version | 3 oder höher |
Beispiel |
json
|
Eine Aktion ist ein Schaltfläche, die Ihre Erweiterung zur Symbolleiste des Browsers hinzufügt. Die Schaltfläche hat ein Symbol und kann optional ein Popup haben, dessen Inhalt mit HTML, CSS und JavaScript angegeben wird.
Dieser Schlüssel ersetzt browser_action
in Manifest V3-Erweiterungen.
Sie müssen diesen Schlüssel angeben, um eine Browser-Symbolleistenschaltfläche in Ihre Erweiterung aufzunehmen. Bei Angabe können Sie die Schaltfläche programmatisch mit der action
API manipulieren.
Wenn Sie ein Popup bereitstellen, wird das Popup geöffnet, wenn der Benutzer die Schaltfläche anklickt, und Ihr JavaScript, das im Popup ausgeführt wird, kann die Benutzerinteraktion mit dem Popup verwalten. Wenn Sie kein Popup bereitstellen, wird beim Klick des Benutzers auf die Schaltfläche ein Klickereignis an die Hintergrund-Skripte Ihrer Erweiterung gesendet.
Syntax
Der action
Schlüssel ist ein Objekt, das eine beliebige dieser Eigenschaften haben kann, alle optional:
Name | Typ | Beschreibung |
---|---|---|
browser_style
Optional Veraltet |
Boolean |
Optional, Standardwert ist
Setzen Sie |
default_area
Optional |
String |
Definiert den Bereich des Browsers, in dem die Schaltfläche anfänglich platziert wird. Dies ist ein String, der einen von vier Werten annehmen kann:
Diese Eigenschaft wird nur in Firefox unterstützt. Diese Eigenschaft ist optional und hat standardmäßig den Wert "menupanel".
Firefox merkt sich die Eine Erweiterung kann den Standort der Schaltfläche nach der Installation nicht mehr ändern, aber der Benutzer kann möglicherweise die Schaltfläche mithilfe des integrierten UI-Anpassungsmechanismus des Browsers verschieben. |
default_icon
Optional |
Object oder String |
Verwenden Sie dies, um eines oder mehrere Symbole für die Aktion anzugeben. Das Symbol wird standardmäßig in der Browser-Symbolleiste angezeigt. Symbole werden als URLs relativ zur Datei manifest.json selbst angegeben. Sie können eine einzelne Symboldatei angeben, indem Sie hier einen String angeben: json
Um mehrere Symbole in verschiedenen Größen anzugeben, geben Sie hier ein Objekt an. Der Name jeder Eigenschaft ist die Höhe des Symbols in Pixeln und muss in einen Integer umwandelbar sein. Der Wert ist die URL. Zum Beispiel: json
Sie können keine mehrfachen Symbole in 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 mithilfe von
Im Gegensatz zu einer normalen Webseite kann JavaScript, das im Popup ausgeführt wird, 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 die Schaltfläche, die angezeigt wird, wenn der Benutzer die Maus darüber bewegt. Wenn die Schaltfläche zum Menüpanel des Browsers hinzugefügt wird, wird sie auch unter dem App-Symbol angezeigt. Dies ist eine lokalisierbare Eigenschaft. |
theme_icons
Optional |
Array |
Diese Eigenschaft ermöglicht es Ihnen, verschiedene Symbole für Themen anzugeben, je nachdem, ob Firefox erkennt, dass das Thema dunklen oder hellen Text verwendet.
Wenn diese Eigenschaft vorhanden ist, handelt es sich um ein Array, das mindestens ein
Symbole werden als URLs relativ zur manifest.json-Datei angegeben.
Sie sollten 16x16 und 32x32 (für Retina-Displays) |
Auswahl der Symbolgrößen
Das Symbol der Aktion muss möglicherweise in verschiedenen Größen in unterschiedlichen Kontexten angezeigt werden:
- Das Symbol wird in der Browser-Symbolleiste angezeigt. Ältere Versionen von Firefox unterstützten die Option, das Symbol im Menüpanel des Browsers zu platzieren (das Panel, das beim Klicken auf das "Hamburger"-Symbol öffnet). In diesen Firefox-Versionen war das Symbol im Menüpanel größer als das Symbol in der Symbolleiste.
- Auf einem hochauflösenden Display wie einem Retina-Bildschirm müssen Symbole doppelt so groß sein.
Wenn der Browser in einer bestimmten Situation kein Symbol der richtigen Größe finden kann, wählt er den besten Übereinstimmung und skaliert es. Skalierung kann das Symbol unscharf erscheinen lassen, daher ist es wichtig, die Symbolgrößen sorgfältig auszuwählen.
Es gibt zwei Hauptansätze dafür. Sie können ein einzelnes Symbol als SVG-Datei bereitstellen, und es wird korrekt skaliert:
"default_icon": "path/to/geo.svg"
Alternativ können Sie mehrere Symbole in verschiedenen Größen bereitstellen, und der Browser wählt die beste Übereinstimmung.
In Firefox:
- Die Standardhöhe und -breite für Symbole in der Symbolleiste beträgt 16 *
window.devicePixelRatio
. - Die Standardhöhe und -breite für Symbole im Menüpanel beträgt 32 *
window.devicePixelRatio
.
So können Sie Symbole angeben, die genau übereinstimmen, sowohl auf normalen als auch auf Retina-Displays, indem Sie drei Symboldateien 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 exakte Übereinstimmung für die gewünschte Größe findet, wählt es das kleinste angegebene Symbol, das größer als die ideale Größe ist. Wenn alle Symbole kleiner als die ideale Größe sind, wird das größte angegebene Symbol gewählt.
Beispiel
"action": {
"default_icon": {
"16": "button/geo-16.png",
"32": "button/geo-32.png"
}
}
Eine Aktion mit nur einem Symbol, angegeben in 2 Größen. Die Hintergrundskripte der Erweiterung können Klickereignisse empfangen, wenn der Benutzer auf das Symbol klickt, indem dieser Code verwendet wird:
browser.action.onClicked.addListener(handleClick);
"action": {
"default_icon": {
"16": "button/geo-16.png",
"32": "button/geo-32.png"
},
"default_title": "Whereami?",
"default_popup": "popup/geo.html"
}
Eine Aktion mit einem Symbol, einem Titel und einem Popup. Das Popup wird angezeigt, wenn der Benutzer auf die Schaltfläche klickt.