对于 Chrome (13+)、Firefox (3.0+) 和 Opera (11.60+),可以使用 JavaScript API 将 Web 应用程序注册为自定义 URI 方案的服务处理程序:
window.navigator.registerProtocolHandler(protocol, uri, title);
protocol
是站点希望处理的协议,指定为字符串。
uri
是作为字符串的处理程序的 URI。您可以包含“%s”以指示在何处插入要处理的文档的转义 URI。
title
是以字符串形式呈现给用户的处理程序的标题。
特别是对于 Chrome 有一个限制,不允许使用不以前缀开头的自定义方案(web+
标准方案除外:mailto
、mms
、nntp
和)。因此,如果您想像 GMail 一样将您的 Web 应用程序注册为服务处理程序,您应该编写如下内容:rtsp
webcal
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
以下是一些有用的链接: