当我将团队生成的URL粘贴到浏览器(尤其是Chrome)中时,浏览器会询问我是在浏览器中还是在团队外部应用程序中打开该链接.使这成为可能的背后的机制是什么?在我的PC上安装后,团队是否会注册某种类型的浏览器扩展?如何从浏览器调用随机应用程序并向其传递URL?

推荐答案

本地应用向操作系统注册定制URI scheme.因此,该应用程序可能会(在安装时)声明它可以打开x-custom-protocol://方案,而不是使用带有https://的URI进行Web浏览.

本地应用程序如何做到这一点的细节因平台而异(Windows、MacOS、Android、iOS等),但当浏览器遇到它怀疑自己无法处理的x-Customer-protocol://时,它会主动提出在外部应用程序中打开.

在Windows上的团队 case 中,当你安装团队时,它会将msteams://注册为其URI方案(对某些人来说是"协议处理程序"),然后当浏览器遇到msteams://链接时,它会询问你是否想将其移交给已安装的团队应用程序.

Javascript相关问答推荐

React native在不首次加载时渲染的挂钩比上一次渲染期间渲染的挂钩更多

更改一组用户创建的项目的js排序标准

在Phaser中查找哪个物体处于碰撞中

错误:找不到react-redux上下文值;请确保该组件包装在React原生Expo应用程序中的提供者中

在卡信息之间切换

在具有焦点和上下文的d3多线图表中,如何将上下文的刷新限制在特定日期?

从连接字符串创建客户端时,NodeJS连接到CosmosDB失败

将数据从strapi提取到next.js,但响应延迟API URL

if/else JavaScript中的条件行为

将状态向下传递给映射的子元素

微软Edge编辑和重新发送未显示""

浮动Div的淡出模糊效果

当运行d3示例代码时,没有显示任何内容

查找最长的子序列-无法重置数组

如何将数组用作复合函数参数?

在画布中调整边上反弹框的大小失败

以编程方式聚焦的链接将被聚焦,但样式不适用

如何限制显示在分页中的可见页面的数量

使用插件构建包含chart.js提供程序的Angular 库?

无法重定向到Next.js中的动态URL