Navigator.registerProtocolHandler()

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

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

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

Синтаксис

window.navigator.registerProtocolHandler(protocol, uri, title);
  • protocol это протокол нуждающийся в обработке, записанный в виде строки.
  • uri это URI обработчика в виде строки. Вы можете включить "%s", что бы показать куда вставлять  выходящие URI документа для обработки.

    Примечание: ДОЛЖНА быть http или https схема

  • 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) .

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

Примечание: "Регистрация службы веб-почты, как mailto-обработчик", показывает как сделать это в рамках XPCOM.

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

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

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

Свойство Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базовая поддержка

13

Белый лист протоколов включает в себя: mailto, mms, nntp, rtsp, и webcal. Обычные протоколы должны быть с префиксом "web+".

3.0 (1.9) ? Opera 11.60 ?
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support ? 3.0 (3.5) ? ? ?

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

Метки документа и участники

 Внесли вклад в эту страницу: AlexAlex
 Обновлялась последний раз: AlexAlex,