Ответ 1
Для Chrome (13+), Firefox (3.0+) и Opera (11.60+) можно зарегистрировать веб-приложение в качестве обработчика службы для пользовательской схемы URI с использованием JavaScript API:
window.navigator.registerProtocolHandler(protocol, uri, title);
-
protocol
- это протокол, который сайт хочет обработать, заданный как строка. -
uri
- это URI для обработчика в виде строки. Вы можете указать "% s", чтобы указать, куда вставить экранированный URI обрабатываемого документа. -
title
- это заголовок обработчика, представленный пользователю как строка.
В частности, для Chrome существует ограничение, которое не позволяет использовать пользовательские схемы, которые не начинаются с префикса web+
(кроме стандартных: mailto
, mms
, nntp
, rtsp
и webcal
). Поэтому, если вы хотите зарегистрировать свое веб-приложение в качестве обработчика службы, как это делает GMail, вы должны написать что-то вроде этого:
navigator.registerProtocolHandler("mailto", "https://www.example.com/?uri=%s", "Example Mail");
или
navigator.registerProtocolHandler("web+myscheme", "https://www.example.com/?uri=%s", "My Cool App");
Обратите внимание на шаблон URI, он должен содержать %s
, который будет заменен фактическим URI кликов пользователя ссылки. Например:
<a href="web+myscheme:some+data">Open in "My Cool App"</a>
вызовет запрос GET
на http://www.example.com/?uri=web%2Bmyscheme%3Asome%20data
Вот несколько полезных ссылок: