You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

浏览器如何请求打开指定应用?其是否能检测到设备已安装该应用?

自定义URL Scheme唤起机制

浏览器实现本地应用唤起的核心依赖是操作系统层面的**自定义URL Scheme(协议头)**机制:

  • 桌面/移动端应用在安装时,会主动向操作系统注册专属的协议标识,格式类似[协议名]://,比如常见的zoommtg://(Zoom会议)、steam://(Steam平台)、weixin://(微信)都属于这类自定义协议。
  • 当网页上的链接、JS请求使用了这类自定义协议头时,浏览器不会发起常规的HTTP/HTTPS网页请求,而是直接将请求转发给操作系统处理。
  • 操作系统收到请求后,会匹配本地已注册对应协议头的应用,匹配成功就会弹出你截图里的确认唤起弹窗,询问用户是否允许启动对应应用。

浏览器唤起应用提示示例

浏览器是否提前知晓应用安装状态

浏览器本身不会预先扫描、存储你设备的本地应用安装列表,也不会主动告知网站你的应用安装情况:

  • 只有当操作系统匹配到了对应协议的已安装应用,才会向浏览器返回可唤起的信号,浏览器才会弹出确认提示;如果没有匹配到对应应用,浏览器一般会抛出错误提示,或者部分网站会引导你跳转下载对应应用。
  • 部分网站会用间接方式判断应用是否安装:比如发起协议唤起请求后,监听1-2秒内浏览器窗口是否失焦(唤起应用会导致浏览器窗口失去焦点),以此推测应用已安装,但这是网站侧自行实现的逻辑,和浏览器无关,浏览器本身不会泄露你的本地应用信息。

内容的提问来源于stack exchange,提问作者Jihai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 18:39:04