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 die 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 aufzunehmen. Wenn angegeben, können Sie die Schaltfläche programmgesteuert mit der pageAction API manipulieren.

Wenn Sie ein Popup bereitstellen, wird das Popup geöffnet, wenn der Benutzer auf das Symbol klickt. Ihr JavaScript, das im Popup läuft, kann dann die Interaktion des Benutzers damit verarbeiten. Wenn Sie kein Popup bereitstellen, wird beim Klick des Benutzers auf das Symbol ein Klick-Ereignis an die Hintergrundskripte Ihrer Erweiterung gesendet.

Page Actions ähneln Browser Actions, sind jedoch mit bestimmten Webseiten anstelle des gesamten Browsers verbunden. Wenn eine Aktion nur auf bestimmten Seiten relevant ist, sollten Sie eine Page Action verwenden und sie nur auf den relevanten Seiten anzeigen. Wenn eine Aktion für alle Seiten oder 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 show_matches Eigenschaft ändern.

Syntax

Der Schlüssel page_action ist ein Objekt, das drei optionale Eigenschaften haben kann:

Name Typ Beschreibung
browser_style
Optional
Veraltet in Manifest V3.
Boolean

Optional. Standardmäßig false.

Setzen Sie browser_style nicht auf true: Es wird in 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 Beispielerweiterung 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 bereitzustellen (19×19 Pixel und 38×38 Pixel) und sie in einem Objekt mit den Eigenschaften "19" und "38" anzugeben, wie folgt:

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

Wenn Sie dies tun, wählt der Browser die richtige Symbolgröße entsprechend der Pixeldichte des Bildschirms aus.

Sie können hier auch einfach einen String angeben:

json
"default_icon": "geo.png"

In diesem Fall wird das Symbol skaliert, um in die Symbolleiste zu passen und kann unscharf 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 mit den <link> und <script> Elementen einbinden, genau wie eine normale Webseite. Verwenden Sie jedoch nicht <script> mit eingebettetem Code, da Sie sonst einen Content-Sicherheitsrichtlinienfehler erhalten. Stattdessen muss <script> das src Attribut verwenden, um eine separate Skriptdatei zu laden.

Im Gegensatz zu einer normalen Webseite kann JavaScript, das im Popup ausgeführt wird, auf alle WebExtension-APIs zugreifen (natürlich unter der Voraussetzung, dass die Erweiterung die entsprechenden Berechtigungen besitzt).

Dies ist eine lokalisierbare Eigenschaft.

default_title String

Tooltip für das Symbol, das angezeigt wird, wenn der Benutzer mit der Maus darüber fährt.

Dies ist eine lokalisierbare Eigenschaft.

hide_matches Array von Match Pattern außer <all_urls>

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

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

Beispielsweise könnte ein Wert wie folgt aussehen:

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 von Match Pattern

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

Siehe auch hide_matches.

pinned Veraltet Boolean

Optional. Standardmäßig true.

Bestimmt, 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 ist. Die Hintergrundskripte der Erweiterung können Klickereignisse empfangen, wenn der Benutzer auf das Symbol klickt, mit Code wie diesem:

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