Beschreibung
Verwenden Sie die chrome.pageAction
API, um Symbole in der Hauptsymbolleiste von Google Chrome rechts neben der Adressleiste zu platzieren. Seitenaktionen sind Aktionen, die auf der aktuellen Seite ausgeführt werden können, aber nicht für alle Seiten gelten. Seitenaktionen werden bei Inaktivität ausgegraut.
Verfügbarkeit
Beispiele:
- RSS-Feed dieser Seite abonnieren
- Diashow aus den Fotos dieser Seite erstellen
Das RSS-Symbol im folgenden Screenshot steht für eine Seitenaktion, mit der Sie den RSS-Feed für die aktuelle Seite abonnieren können.
Ausgeblendete Seitenaktionen werden ausgegraut dargestellt. Der folgende RSS-Feed ist beispielsweise ausgegraut, da du den Feed für die aktuelle Seite nicht abonnieren kannst:
Verwenden Sie stattdessen eine Browseraktion, damit Nutzer immer mit der Erweiterung interagieren können.
Manifest
Registrieren Sie die Seitenaktion im Erweiterungsmanifest so:
{
"name": "My extension",
...
"page_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
},
...
}
Da Geräte mit weniger gängigen Skalierungsfaktoren wie 1,5x oder 1,2x immer häufiger verwendet werden, sollten Sie mehrere Größen für Symbole bereitstellen. Chrome wählt die am nächsten gelegene aus und skaliert sie so, dass sie den 16-Dip-Bereich füllt. So ist auch sichergestellt, dass Sie keine weiteren Symbole erstellen müssen, falls sich die Größe der Anzeige ändern sollte. Wenn der Größenunterschied jedoch zu extrem ist, kann diese Skalierung dazu führen, dass das Symbol an Details verloren geht oder unscharf wirkt.
Die alte Syntax zum Registrieren des Standardsymbols wird weiterhin unterstützt:
{
"name": "My extension",
...
"page_action": {
...
"default_icon": "images/icon32.png" // optional
// equivalent to "default_icon": { "32": "images/icon32.png" }
},
...
}
Teile der Benutzeroberfläche
Wie Browseraktionen können auch Seitenaktionen ein Symbol, eine Kurzinfo und ein Pop-up haben. Sie können jedoch keine Badges haben. Außerdem können Seitenaktionen ausgegraut sein. Informationen zu Symbolen, Kurzinfos und Pop-ups finden Sie unter UI für Browseraktionen.
Mit der Methode pageAction.show
bzw. pageAction.hide
können Sie eine Seitenaktion ein- und ausblenden. Standardmäßig werden Seitenaktionen ausgegraut. Dabei geben Sie den Tab an, in dem das Symbol angezeigt werden soll. Das Symbol bleibt sichtbar, bis der Tab geschlossen wird oder eine andere URL angezeigt wird (z. B. weil der Nutzer auf einen Link klickt).
Tipps
Beachten Sie die folgenden Richtlinien, um eine optimale visuelle Wirkung zu erzielen:
- Verwende Seitenaktionen nur für Funktionen, die nur für wenige Seiten sinnvoll sind.
- Verwenden Sie Seitenaktionen nicht für Funktionen, die für die meisten Seiten sinnvoll sind. Verwenden Sie stattdessen Browseraktionen.
- Animieren Sie das Symbol nicht ständig. Das ist nur ärgerlich.
Typen
ImageDataType
Pixel-Daten für ein Bild. Muss ein ImageData-Objekt sein (z. B. aus einem canvas
-Element).
Typ
ImageData
TabDetails
Attribute
-
tabId
Nummer 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
getPopup()
chrome.pageAction.getPopup(
details: TabDetails,
callback?: function,
)
Ruft das HTML-Dokument ab, das als Pop-up für diese Seitenaktion festgelegt wurde.
Parameter
-
Details
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(result: string) => void
-
Ergebnis
String
-
Rückgabe
-
Versprechen<string>
Chrome 101 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
getTitle()
chrome.pageAction.getTitle(
details: TabDetails,
callback?: function,
)
Ruft den Titel der Seitenaktion ab.
Parameter
-
Details
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(result: string) => void
-
Ergebnis
String
-
Rückgabe
-
Versprechen<string>
Chrome 101 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
hide()
chrome.pageAction.hide(
tabId: number,
callback?: function,
)
Blendet die Seitenaktion aus. Ausgeblendete Seitenaktionen werden weiterhin in der Chrome-Symbolleiste angezeigt, sind aber ausgegraut.
Parameter
-
tabId
Zahl
Die ID des Tabs, für den Sie die Seitenaktion ändern möchten.
-
callback
Funktion optional
Chrome 67 oder höherDer Parameter
callback
sieht so aus:() => void
Rückgabe
-
Promise<void>
Chrome 101 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
setIcon()
chrome.pageAction.setIcon(
details: object,
callback?: function,
)
Legt das Symbol für die Seitenaktion fest. Das Symbol kann entweder als Pfad zu einer Bilddatei, als Pixeldaten aus einem Canvas-Element oder als Wörterbuch eines dieser Elemente angegeben werden. Es muss entweder der path oder die imageData-Eigenschaft angegeben werden.
Parameter
-
Details
Objekt
-
iconIndex
Nummer optional
Veraltet. Dieses Argument wird ignoriert.
-
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 Bildschirmbereichseinheit passen,
scale
ist, 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" äquivalent zu "details.imageData = {'16': foo}" ist. -
Pfad
String | Objekt optional
Entweder ein relativer Bildpfad oder ein Wörterbuch {size -> relativer Bildpfad}, 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 Bildschirmbereichseinheit passen,
scale
ist, 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“ äquivalent zu 'details.path = {'16': foo}' ist. -
tabId
Zahl
Die ID des Tabs, für den Sie die Seitenaktion ändern möchten.
-
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Rückgabe
-
Promise<void>
Chrome 101 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
setPopup()
chrome.pageAction.setPopup(
details: object,
callback?: function,
)
Legt fest, dass das HTML-Dokument als Pop-up geöffnet wird, wenn der Nutzer auf das Symbol der Seitenaktion klickt.
Parameter
-
Details
Objekt
-
Pop-up
String
Der relative Pfad zur HTML-Datei, die in einem Pop-up-Fenster angezeigt werden soll. Wenn der Wert auf den leeren String (
''
) gesetzt ist, wird kein Pop-up-Fenster angezeigt. -
tabId
Zahl
Die ID des Tabs, für den Sie die Seitenaktion ändern möchten.
-
-
callback
Funktion optional
Chrome 67 oder höherDer Parameter
callback
sieht so aus:() => void
Rückgabe
-
Promise<void>
Chrome 101 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
setTitle()
chrome.pageAction.setTitle(
details: object,
callback?: function,
)
Legt den Titel der Seitenaktion fest. Dies wird in einer Kurzinfo zur Seitenaktion angezeigt.
Parameter
-
Details
Objekt
-
tabId
Zahl
Die ID des Tabs, für den Sie die Seitenaktion ändern möchten.
-
Titel
String
Der String für die Kurzinfo.
-
-
callback
Funktion optional
Chrome 67 oder höherDer Parameter
callback
sieht so aus:() => void
Rückgabe
-
Promise<void>
Chrome 101 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
show()
chrome.pageAction.show(
tabId: number,
callback?: function,
)
Zeigt die Seitenaktion an. Die Seitenaktion wird angezeigt, wenn der Tab ausgewählt wird.
Parameter
-
tabId
Zahl
Die ID des Tabs, für den Sie die Seitenaktion ändern möchten.
-
callback
Funktion optional
Chrome 67 oder höherDer Parameter
callback
sieht so aus:() => void
Rückgabe
-
Promise<void>
Chrome 101 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
Veranstaltungen
onClicked
chrome.pageAction.onClicked.addListener(
callback: function,
)
Wird ausgelöst, wenn auf ein Symbol für eine Seitenaktion geklickt wird Dieses Ereignis wird nicht ausgelöst, wenn die Seitenaktion ein Pop-up enthält.