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
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.
- Das Schema (Protokoll) ungültig ist, wie ein Schema, das der Browser selbst verarbeitet (
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:
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