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

Rob*_*loi 4 macos google-chrome github

我注意到,几个月前GitHub启动了一个新的“在Mac中克隆”按钮,单击该按钮可执行外部协议请求:

github-mac://openRepo/REPOURL
Run Code Online (Sandbox Code Playgroud)

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

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

Ram*_*Ram 5

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

在Windows中注册新协议并将其挂接到可执行文件实际上很简单。我已经为某些应用程序完成了此操作:http : //msdn.microsoft.com/zh-cn/library/aa767914%28v=vs.85%29.aspx

另请参阅 在Mac OS X上注册协议?