当我将团队生成的URL粘贴到浏览器(尤其是Chrome)中时,浏览器会询问我是在浏览器中还是在团队外部应用程序中打开该链接.使这成为可能的背后的机制是什么?在我的PC上安装后,团队是否会注册某种类型的浏览器扩展?如何从浏览器调用随机应用程序并向其传递URL?
当我将团队生成的URL粘贴到浏览器(尤其是Chrome)中时,浏览器会询问我是在浏览器中还是在团队外部应用程序中打开该链接.使这成为可能的背后的机制是什么?在我的PC上安装后,团队是否会注册某种类型的浏览器扩展?如何从浏览器调用随机应用程序并向其传递URL?
本地应用向操作系统注册定制URI scheme.因此,该应用程序可能会(在安装时)声明它可以打开x-custom-protocol://
方案,而不是使用带有https://
的URI进行Web浏览.
本地应用程序如何做到这一点的细节因平台而异(Windows、MacOS、Android、iOS等),但当浏览器遇到它怀疑自己无法处理的x-Customer-protocol://时,它会主动提出在外部应用程序中打开.
在Windows上的团队 case 中,当你安装团队时,它会将msteams://
注册为其URI方案(对某些人来说是"协议处理程序"),然后当浏览器遇到msteams://
链接时,它会询问你是否想将其移交给已安装的团队应用程序.