This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

Navigator.registerProtocolHandler()

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Позволяет веб-сайтам зарегистрировать себя как возможный обработчик для конкретных протоколов.

По соображениям безопасности, по умолчанию, веб-сайты могут зарегистрировать только обработчики протокола для себя - домен и протокол обработчика должны совпадать с текущим сайтом. Тем не менее, пользователи могут установить предпочтение в Firefox, разрешающее перекрёстную обработку веб-сайтов в настройках gecko.handlerService.allowRegisterFromDifferentHost установив true в about:config.

Расширения могут регистрировать обработчики протоколов, направленные другие сайты: см. "Смотрите также" раздел как использовать их с XPCOM.

Синтаксис

window.navigator.registerProtocolHandler(protocol, uri, title);
  • protocol это протокол нуждающийся в обработке, записанный в виде строки.

  • uri это URI обработчика в виде строки. Вы можете включить "%s", что бы показать куда вставлять выходящие URI документа для обработки.

    Примечание: Обработчик URK должен использовать схему https. Старые браузеры также поддерживают http.

  • title это заголовок обработчика, представленный пользователю в виде строки.

Пример

Если ваше веб-приложение находится по адресу http://www.google.co.uk, вы можете зарегистрировать обработчик протокола и привязать обращение к нему "burger", как это:

navigator.registerProtocolHandler("burger",
                                  "http://www.google.co.uk/?uri=%s",
                                  "Burger handler");

Это создаст обработчик, который разрешает burger://ссылки, направляющие пользователя на ваше веб-приложение, вставляя burger информацию указанную в ссылке на URL. Напомним, что этот скрипт должен быть запущен с того же домена (так и любой странице расположенной в google.co.uk) и второе, переданный аргумент должен быть http или https схемы (в этом примере это http) .

Пользователь будет уведомлен о регистрации этого протокола, для примера смотрите на изображение ниже.

Спецификации

Specified by the WHATWG's Web Applications 1.0 working draft (HTML5).

Совместимость с браузерами

Смотрите также