【发布时间】:2017-06-16 19:58:17
【问题描述】:
我真的不知道术语,所以我将从一个例子开始。
如果我点击磁力链接,Google chrome 会询问我是否要启动 torrent 客户端。我点击确定,chrome 启动该应用程序,该应用程序根据链接执行一些操作。
现在有没有办法查看应用程序如何从 chrome 获取信息?以及chrome如何启动应用程序?
【问题讨论】:
我真的不知道术语,所以我将从一个例子开始。
如果我点击磁力链接,Google chrome 会询问我是否要启动 torrent 客户端。我点击确定,chrome 启动该应用程序,该应用程序根据链接执行一些操作。
现在有没有办法查看应用程序如何从 chrome 获取信息?以及chrome如何启动应用程序?
【问题讨论】:
这完全取决于操作系统,但一般来说,另一个桌面程序可以注册特定的协议或 URI 方案来打开程序。然后,当 Chrome 不知道如何处理某个协议时,它就会把它交给操作系统来处理。
例如,在 Windows 中,它们是通过将某些内容放入系统注册表中的特定键 (https://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx) 来配置的。
大多数应用程序在安装时会将自己设置为特定协议的默认设置。
【讨论】:
Chrome 是一个“桌面”程序。它可以打开任何从操作系统暴露的程序。
一个链接可以包含一个特定的协议而不是http://,操作系统可以有一个将协议直接绑定到已安装程序的映射。 Chrome 在任何时候都不会与应用程序通信。它只告诉操作系统使用给定程序打开给定 url 的资源。
【讨论】: