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 bestimmtes URL-Schema.

Diese Methode ist das Gegenstück zu registerProtocolHandler().

Syntax

js
unregisterProtocolHandler(scheme, url)

Parameter

scheme

Ein String, der das zugelassene Schema im Protokoll-Handler enthält, das abgemeldet wird. Zum Beispiel können Sie den Handler für SMS-Textnachrichten-Links abmelden, indem Sie das Schema "sms" ü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 könnte passieren, wenn:

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

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

Zugelassene 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 einen Buchstaben nach dem web+-Präfix enthält.
  • Der Name des benutzerdefinierten Schemas nur Kleinbuchstaben aus dem ASCII-Zeichensatz enthält.

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

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 so 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 von jeder Seite unter https://burgers.example.com), und die Handler-URL muss http oder https sein.

Spezifikationen

Specification
HTML
# dom-navigator-unregisterprotocolhandler-dev

Browser-Kompatibilität