protocol_handlers

Typ Array
Verpflichtend Nein
Manifest-Version 2 oder höher
Beispiel
json
"protocol_handlers": [
  {
    "protocol": "ircs",
    "name": "IRC Mozilla Erweiterung",
    "uriTemplate": "https://irccloud.mozilla.com/#!/%s"
  }
]

Verwenden Sie diesen Schlüssel, um einen oder mehrere webbasierten Protokoll-Handler zu registrieren.

Ein Protokoll-Handler ist eine Anwendung, die weiß, wie bestimmte Arten von Links gehandhabt werden: Zum Beispiel ist ein E-Mail-Client ein Protokoll-Handler für "mailto:"-Links. Wenn der Benutzer auf einen "mailto:"-Link klickt, öffnet der Browser die als Handler für das "mailto:"-Protokoll ausgewählte Anwendung (oder bietet eine Auswahl von Handlern an, abhängig von den Einstellungen).

Hinweis: Standardmäßig laufen Erweiterungen nicht in privaten Browserfenstern. Da Protokoll-Handler Teil der Erweiterung sind, funktionieren sie standardmäßig nicht in privaten Browserfenstern. Ob eine Erweiterung auf private Browserfenster zugreifen kann und ihre Protokoll-Handler aktiv werden, unterliegt der Kontrolle des Benutzers. Für Details siehe Erweiterungen im privaten Modus. Ihre Erweiterung kann überprüfen, ob sie auf private Browserfenster zugreifen kann, indem sie extension.isAllowedIncognitoAccess verwendet.

Mit diesem Schlüssel können Sie eine Website als Handler für ein bestimmtes Protokoll registrieren. Die Syntax und Semantik dieses Schlüssels ähneln der Funktion Navigator.registerProtocolHandler(), mit der Ausnahme, dass bei registerProtocolHandler() sich eine Website nur selbst als Handler registrieren kann.

Jeder Protokoll-Handler hat drei Eigenschaften, die alle verpflichtend sind:

protocol

Eine Zeichenkette, die das Protokoll definiert. Diese muss entweder sein:

  • eines der folgenden: "bitcoin", "dat", "dweb", "ftp", "geo", "gopher", "im", "ipfs", "ipns", "irc", "ircs", "magnet", "mailto", "matrix", "mms", "news", "nntp", "sip", "sms", "smsto", "ssb", "ssh", "tel", "urn", "webcal", "wtai", "xmpp".
  • eine Zeichenkette, die aus einem benutzerdefinierten Namen besteht, der mit "web+" oder "ext+" vorangestellt ist. Zum Beispiel: "web+foo" oder "ext+foo". Der benutzerdefinierte Name darf nur aus Kleinbuchstaben und ASCII-Zeichen bestehen. Es wird empfohlen, dass Erweiterungen die Form "ext+" verwenden.
name

Eine Zeichenkette, die den Namen des Protokoll-Handers darstellt. Dieser wird dem Benutzer angezeigt, wenn er gefragt wird, ob er möchte, dass dieser Handler den Link öffnet.

uriTemplate

Eine Zeichenkette, die die URL des Handlers darstellt. Diese Zeichenkette muss "%s" als Platzhalter enthalten: dieser wird durch die escapte URL des zu behandelnden Dokuments ersetzt. Diese URL kann eine echte URL, oder es könnte eine Telefonnummer, E-Mail-Adresse oder dergleichen sein. Dies ist eine lokalisierbare Eigenschaft.

Beispiel

json
"protocol_handlers": [
  {
    "protocol": "magnet",
    "name": "Magnet Extension",
    "uriTemplate": "https://example.com/#!/%s"
  }
]

Wenn das Protokoll nicht in der erlaubten Liste enthalten ist, muss es mit 'ext+' beginnen.

json
"protocol_handlers": [
  {
    "protocol": "ext+foo",
    "name": "Foo Extension",
    "uriTemplate": "https://example.com/#!/%s"
  }
]

Handler können auch Erweiterungsseiten sein.

json
"protocol_handlers": [
  {
    "protocol": "magnet",
    "name": "Magnet Extension",
    "uriTemplate": "/example.xhtml#!/%s"
  }
]

Browser-Kompatibilität

BCD tables only load in the browser