Navigator: unregisterProtocolHandler() Methode
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more browser support for this feature? Tell us why.
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
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
%senthalten).
Rückgabewert
Keiner (undefined).
Ausnahmen
SecurityErrorDOMException-
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.
- Das Schema (Protokoll) ungültig ist, wie ein Schema, das der Browser selbst verwaltet (
SyntaxErrorDOMException-
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:
bitcoinftpftpsgeoimircircsmagnetmailtomatrixmmsnewsnntpopenpgp4fprsftpsipsmssmstosshtelurnwebcalwtaixmpp
Beispiele
Wenn Ihre Seite burgers.example.com ist und Sie ein web+burger:-Schema haben, können Sie den Handler dafür so 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 von jeder Seite unter https://burgers.example.com), und die Handler-URL muss http oder https sein.
Spezifikationen
| Spezifikation |
|---|
| HTML> # dom-navigator-unregisterprotocolhandler-dev> |