Navigator: unregisterProtocolHandler() метод
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает во всех широко используемых браузерах.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
Метод Navigator unregisterProtocolHandler() удаляет обработчик протокола для заданного URL-адреса схемы.
Этот метод является обратным к registerProtocolHandler().
Синтаксис
unregisterProtocolHandler(scheme, url)
Параметры
scheme-
Строка, содержащая разрешённую схему в обработчике протокола, который будет аннулирован. Например, вы можете аннулировать обработчик для ссылок сообщений SMS, передав схему
"sms". url-
Строка, содержащая URL-адрес обработчика.
%s.
Возвращаемое значение
None (undefined).
Исключения
-
SecurityErrorDOMException -
Пользовательский агент заблокировал отмену регистрации. Это может произойти, если:
- Схема (протокол) недействительна, например, схема, обрабатываемая самим браузером (
https:,about:, и т. д.) - Происхождение URL-адреса обработчика не совпадает с происхождением страницы, вызывающей этот API.
- Браузер требует, чтобы эта функция вызывалась из безопасного контекста.
- Браузер требует, чтобы URL-адрес обработчика был по HTTPS.
- Схема (протокол) недействительна, например, схема, обрабатываемая самим браузером (
-
SyntaxErrorDOMException -
Отсутствует
%sмаркер в URL-адресе обработчика.
Разрешённые схемы
По соображениям безопасности unregisterProtocolHandler() ограничивает схемы, которые могут быть аннулированы.
Пользовательская схема может быть аннулирована, если:
- Имя пользовательской схемы начинается с
web+ - Имя пользовательской схемы содержит как минимум 1 букву после префикса
web+ - Имя пользовательской схемы содержит только строчные латинские буквы.
Например, web+burger, как показано в примере ниже.
В противном случае схема должна быть одной из следующих:
bitcoinftpftpsgeoimircircsmagnetmailtomatrixmmsnewsnntpopenpgp4fprsftpsipsmssmstosshtelurnwebcalwtaixmpp
Примеры
Если ваш сайт burgers.example.com, и у вас есть схема web+burger: вы можете аннулировать обработчик для неё так:
navigator.unregisterProtocolHandler( "web+burger", "https://burgers.example.com/?burger=%s", );
Этот скрипт должен выполняться из того же источника, что и URL-адрес обработчика (поэтому любая страница по https://burgers.example.com), а URL-адрес обработчика должен быть http или https.
Спецификации
| Спецификация |
|---|
| HTML # dom-navigator-unregisterprotocolhandler-dev |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari в IOS | Samsung Internet | WebView Android | |
unregisterProtocolHandler |
38 | 79 | Нет | 25≤12.1–15 | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Navigator/unregisterProtocolHandler