外部协议处理程序和现代浏览器

时间:2011-10-07 08:19:41

标签: macos google-chrome github

我注意到几个月前GitHub推出了一个新的“克隆在Mac上”按钮,当点击它时 - 执行外部协议请求:

github-mac://openRepo/REPOURL

假设我想为我的应用程序实现类似的功能,我想知道:

  • 如果用户浏览器不支持外部协议,按钮会如何降级
  • 如何在不需要用户操作的情况下注册协议处理程序。换句话说,在协议github-mac的情况下,如何告诉浏览器X使用应用程序GitHub.app,而不要求用户调整浏览器设置?
  • 我可以在上面的网址中看到 openRepo 操作,该操作会告知应用程序要执行的操作。为Mac应用程序分发这些请求的常见策略/模式是什么,以便github-mac://first执行与github-mac://second不同的操作?

1 个答案:

答案 0 :(得分:4)

浏览器处理新协议的方式不同。 在此处检查文档,其中记录了各种操作系统。 http://kb.mozillazine.org/Register_protocol

在Windows中注册新协议并将其挂钩到可执行文件实际上是微不足道的。我为一些应用程序做了这个: http://msdn.microsoft.com/en-us/library/aa767914%28v=vs.85%29.aspx

另见 register a protocol on mac osx?