Navigator: unregisterProtocolHandler() Methode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Die Navigator-Methode unregisterProtocolHandler() entfernt einen Protokoll-Handler für ein gegebenes URL-Schema.

Diese Methode ist das Gegenteil von registerProtocolHandler().

Syntax

js
unregisterProtocolHandler(scheme, url)

Parameter

scheme

Ein String, der das erlaubte Schema im Protokoll-Handler enthält, das abgemeldet werden soll. Zum Beispiel können Sie den Handler für SMS-Textnachrichten-Links abmelden, indem Sie das "sms"-Schema übergeben.

url

Ein String, der die URL des Handlers enthält. Diese URL sollte mit derjenigen übereinstimmen, die zur Registrierung des Handlers verwendet wurde (z.B. muss sie %s enthalten).

Rückgabewert

Keiner (undefined).

Ausnahmen

SecurityError DOMException

Der Benutzeragent hat die Abmeldung blockiert. Dies kann passieren, wenn:

  • Das Schema (Protokoll) ungültig ist, wie ein Schema, das der Browser selbst verarbeitet (https:, about:, etc.)
  • Der Ursprung der Handler-URL nicht mit dem Ursprung der Seite übereinstimmt, die diese API aufruft.
  • Der Browser fordert, dass diese Funktion in einem sicheren Kontext aufgerufen wird.
  • Der Browser fordert, dass die URL des Handlers über HTTPS erfolgt.
SyntaxError DOMException

Der %s-Platzhalter fehlt in der Handler-URL.

Erlaubte Schemas

Aus Sicherheitsgründen beschränkt unregisterProtocolHandler(), welche Schemas abgemeldet werden können.

Ein benutzerdefiniertes Schema kann abgemeldet werden, solange:

  • Der Name des benutzerdefinierten Schemas mit web+ beginnt
  • Der Name des benutzerdefinierten Schemas mindestens 1 Buchstaben nach dem web+-Präfix beinhaltet
  • Das benutzerdefinierte Schema nur Kleinbuchstaben im ASCII-Zeichensatz in seinem Namen enthält.

Zum Beispiel web+burger, wie im Beispiel unten dargestellt.

Andernfalls muss das Schema eines der folgenden sein:

  • bitcoin
  • ftp
  • ftps
  • geo
  • im
  • irc
  • ircs
  • magnet
  • mailto
  • matrix
  • mms
  • news
  • nntp
  • openpgp4fpr
  • sftp
  • sip
  • sms
  • smsto
  • ssh
  • tel
  • urn
  • webcal
  • wtai
  • xmpp

Beispiele

Wenn Ihre Seite burgers.example.com ist und Sie ein web+burger:-Schema haben, können Sie den Handler dafür wie folgt abmelden:

js
navigator.unregisterProtocolHandler(
  "web+burger",
  "https://burgers.example.com/?burger=%s",
);

Dieses Skript muss vom gleichen Ursprung wie die Handler-URL ausgeführt werden (also jede Seite unter https://burgers.example.com), und die Handler-URL muss http oder https sein.

Spezifikationen

Specification
HTML Standard
# dom-navigator-unregisterprotocolhandler-dev

Browser-Kompatibilität

BCD tables only load in the browser