Javascript 从网页安装URI方案的服务处理程序
从Chrome访问Google Mail或Google Calendar时,addressbar中会出现一个小图标,允许为URI方案安装自定义服务处理程序(图中用红方块标记) 图标的工具提示为:Javascript 从网页安装URI方案的服务处理程序,javascript,google-chrome,gmail,uri,uri-scheme,Javascript,Google Chrome,Gmail,Uri,Uri Scheme,从Chrome访问Google Mail或Google Calendar时,addressbar中会出现一个小图标,允许为URI方案安装自定义服务处理程序(图中用红方块标记) 图标的工具提示为:此页面要安装服务处理程序。当我点击图标并允许Google Mail处理mailto:链接时,所有mailto:链接都会在Chrome中打开 是否可以创建一个网页,以便能够像Google Mail那样为我的自定义URI方案安装自定义处理程序?对于Chrome(13+)、Firefox(3.0+)和Oper
此页面要安装服务处理程序
。当我点击图标并允许Google Mail处理mailto:
链接时,所有mailto:
链接都会在Chrome中打开
是否可以创建一个网页,以便能够像Google Mail那样为我的自定义URI方案安装自定义处理程序?对于Chrome(13+)、Firefox(3.0+)和Opera(11.60+)来说,可以使用JavaScript API将web应用程序注册为自定义URI方案的服务处理程序:
window.navigator.registerProtocolHandler(protocol, uri, title);
是站点希望处理的协议,指定为字符串协议
是处理程序作为字符串的uri。您可以包含“%s”以指示在何处插入要处理的文档的转义URIuri
是以字符串形式呈现给用户的处理程序的标题title
web+
前缀开头的自定义方案(标准方案除外:mailto
、mms
、nntp
、rtsp
和webcal
)。因此,如果你想像GMail一样将你的web应用注册为服务处理程序,你应该这样写:
navigator.registerProtocolHandler("mailto", "https://www.example.com/?uri=%s", "Example Mail");
或
注意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
以下是一些有用的链接:
- 标准
- MDN
- HTML5ROCKS
<a href="web+myscheme:some+data">Open in "My Cool App"</a>