page_action

Typ Object
Verpflichtend Nein
Manifest Version 2 oder höher
Beispiel
json
"page_action": {
  "default_icon": {
    "19": "button/geo-19.png",
    "38": "button/geo-38.png"
  },
  "default_title": "Whereami?",
  "default_popup": "popup/geo.html"
}

Eine Page Action ist ein Symbol, das Ihre Erweiterung in der URL-Leiste des Browsers hinzufügt.

Ihre Erweiterung kann optional auch ein zugehöriges Popup bereitstellen, dessen Inhalt mit HTML, CSS und JavaScript spezifiziert wird.

Sie müssen diesen Schlüssel angeben, um eine Page Action in Ihre Erweiterung zu integrieren. Wenn angegeben, können Sie die Schaltfläche programmatisch mit der pageAction API manipulieren.

Wenn Sie ein Popup bereitstellen, wird dieses geöffnet, wenn der Benutzer auf das Symbol klickt, und Ihr JavaScript, das im Popup läuft, kann die Interaktion des Benutzers damit behandeln. Wenn Sie kein Popup bereitstellen, wird ein Klickereignis an die Hintergrundskripte Ihrer Erweiterung gesendet, wenn der Benutzer auf das Symbol klickt.

Page Actions ähneln den Browser Actions, außer dass sie mit bestimmten Webseiten statt mit dem gesamten Browser verbunden sind. Wenn eine Aktion nur auf bestimmten Seiten relevant ist, sollten Sie eine Page Action verwenden und sie nur auf relevanten Seiten anzeigen. Wenn eine Aktion für alle Seiten oder für den Browser selbst relevant ist, verwenden Sie eine Browser Action.

Während Browser Actions standardmäßig angezeigt werden, sind Page Actions standardmäßig ausgeblendet. Sie können für einen bestimmten Tab angezeigt werden, indem Sie pageAction.show() aufrufen und die id des Tabs übergeben. Sie können dieses Standardverhalten auch mit der Eigenschaft show_matches ändern.

Syntax

Der page_action Schlüssel ist ein Objekt, das eine beliebige der drei Eigenschaften haben kann, alle optional:

Name Typ Beschreibung
browser_style
Optional
Veraltet in Manifest V3.
Boolean

Optional. Standardwert ist false.

Setzen Sie browser_style nicht auf true: Es wird im Manifest V3 ab Firefox 118 nicht unterstützt. Siehe Manifest V3 Migration für browser_style.

In Firefox kann das Stylesheet unter chrome://browser/content/extension.css oder chrome://browser/content/extension-mac.css auf macOS eingesehen werden.

Die latest-download Beispiel-Erweiterung verwendet browser_style in ihrem Popup.

default_icon Object oder String

Verwenden Sie dies, um ein Symbol für die Aktion festzulegen.

Es wird empfohlen, hier zwei Symbole anzugeben (19×19 Pixel und 38×38 Pixel) und diese in einem Objekt mit Eigenschaften mit den Namen "19" und "38" anzugeben, so wie hier:

json
    "default_icon": {
      "19": "geo-19.png",
      "38": "geo-38.png"
    }

Wenn Sie dies tun, wählt der Browser das richtige Größen-Symbol für die Pixeldichte des Bildschirms aus.

Sie können hier auch nur eine Zeichenfolge angeben:

json
"default_icon": "geo.png"

Wenn Sie dies tun, wird das Symbol auf die Größe der Symbolleiste skaliert und kann verschwommen erscheinen.

default_popup String

Der Pfad zu einer HTML-Datei, die die Spezifikation des Popups enthält.

Die HTML-Datei kann CSS- und JavaScript-Dateien mithilfe von <link> und <script> Elementen einbinden, genau wie eine normale Webseite. Verwenden Sie jedoch <script> nicht mit eingebettetem Code, da dies einen Content Violation Policy Fehler verursachen kann. Stattdessen muss <script> das src Attribut verwenden, um eine separate Skriptdatei zu laden.

Im Gegensatz zu einer normalen Webseite kann JavaScript, das im Popup läuft, auf alle WebExtension-APIs zugreifen (vorausgesetzt, die Erweiterung hat die entsprechenden Berechtigungen).

Dies ist eine lokalisierbare Eigenschaft.

default_title String

Tooltip für das Symbol, das angezeigt wird, wenn der Benutzer die Maus darüber bewegt.

Dies ist eine lokalisierbare Eigenschaft.

hide_matches Array von Match Pattern außer <all_urls>

Verstecken Sie die Page Action standardmäßig für Seiten, deren URLs mit einem der angegebenen Match Patterns übereinstimmen.

Beachten Sie, dass Page Actions standardmäßig immer versteckt sind, es sei denn, es wird show_matches angegeben. Daher ergibt es nur Sinn, diese Eigenschaft einzuschließen, wenn show_matches ebenfalls angegeben ist, und wird die Muster in show_matches überschreiben.

Beispielsweise betrachten Sie einen Wert wie:

json
"page_action": {
  "show_matches": ["https://*.mozilla.org/*"],
  "hide_matches": ["https://developer.mozilla.org/*"]
}

Dies zeigt die Page Action standardmäßig für alle HTTPS-URLs unter der "mozilla.org" Domain an, außer für Seiten unter "developer.mozilla.org".

show_matches Array of Match Pattern

Zeigen Sie die Page Action standardmäßig für Seiten an, deren URLs mit einem der angegebenen Muster übereinstimmen.

Sehen Sie auch hide_matches.

pinned Veraltet Boolean

Optional. Standardwert ist true.

Steuert, ob die Page Action standardmäßig in der Adressleiste erscheinen soll, wenn der Benutzer die Erweiterung installiert. Diese Eigenschaft wird seit Firefox 89 nicht mehr unterstützt.

Beispiel

json
"page_action": {
  "default_icon": {
    "19": "button/geo-19.png",
    "38": "button/geo-38.png"
  }
}

Eine Page Action mit nur einem Symbol, das in 2 verschiedenen Größen angegeben wird. Die Hintergrundskripte der Erweiterung können Klickereignisse empfangen, wenn der Benutzer mit Code wie diesem auf das Symbol klickt:

js
browser.pageAction.onClicked.addListener(handleClick);
json
"page_action": {
  "default_icon": {
    "19": "button/geo-19.png",
    "38": "button/geo-38.png"
  },
  "default_title": "Whereami?",
  "default_popup": "popup/geo.html"
}

Eine Page Action mit einem Symbol, einem Titel und einem Popup. Das Popup wird angezeigt, wenn der Benutzer auf das Symbol klickt.

Browser-Kompatibilität

Siehe auch