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
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
| Specification |
|---|
| HTML> # dom-navigator-unregisterprotocolhandler-dev> |
Browser-Kompatibilität
Loading…