rpe*_*kov 16 javascript gmail uri google-chrome uri-scheme
从Chrome访问Google Mail或Google日历时,地址栏中会显示小图标,允许为URI方案安装自定义服务处理程序(在图片中标有红色方框).

图标的工具提示是:This page wants to install a service handler.当我点击图标并允许Google Mail处理mailto:链接时,所有mailto:链接都在Chrome中打开.
是否有可能创建能够为我的自定义URI方案安装自定义处理程序的网页,就像Google Mail一样?
Vad*_*dim 23
对于Chrome(13 +),Firefox(3.0+)和Opera(11.60+),可以使用JavaScript API将Web应用程序注册为自定义URI方案的服务处理程序:
window.navigator.registerProtocolHandler(protocol, uri, title);
Run Code Online (Sandbox Code Playgroud)
protocol 是网站希望处理的协议,指定为字符串.uri是作为字符串的处理程序的URI.您可以包含"%s"以指示在何处插入要处理的文档的转义URI.title 是作为字符串呈现给用户的处理程序的标题.专为Chrome有一个限制,即不允许使用不带启动定制方案web+前缀(除了那些标准:mailto,mms,nntp,rtsp和webcal).因此,如果您想将您的Web应用程序注册为GMail的服务处理程序,您应该写下这样的内容:
navigator.registerProtocolHandler("mailto", "https://www.example.com/?uri=%s", "Example Mail");
Run Code Online (Sandbox Code Playgroud)
要么
navigator.registerProtocolHandler("web+myscheme", "https://www.example.com/?uri=%s", "My Cool App");
Run Code Online (Sandbox Code Playgroud)
注意URI模式,它必须包含%s哪些将被链接用户点击的实际URI替换.例如:
<a href="web+myscheme:some+data">Open in "My Cool App"</a>
Run Code Online (Sandbox Code Playgroud)
会触发GET请求http://www.example.com/?uri=web%2Bmyscheme%3Asome%20data
以下是一些有用的链接:
| 归档时间: |
|
| 查看次数: |
4058 次 |
| 最近记录: |