关闭chrome/edge 浏览器打开外部应用程序的弹窗

chrome版本112.0.6167.140

一、本地应用程序用注册表注册一下,浏览器可以调用

javascript 复制代码
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\signal]
@="signalProtocol"
"URL Protocol"="signalProtocol"

[HKEY_CLASSES_ROOT\signal\DefaultIcon]
@="E:\\test\\test.exe,1"

[HKEY_CLASSES_ROOT\signal\shell]

[HKEY_CLASSES_ROOT\signal\shell\open]

[HKEY_CLASSES_ROOT\signal\shell\open\command]
@="\"E:\\test\\test.exe\" \"%1\""

二、直接用浏览器调用的话会弹确认窗口,需求不要弹出确认窗口

  • 用注册表的方式关闭chrome/edge 浏览器打开外部应用程序的弹窗
  1. 先关闭chrome/edge 浏览器
  2. 新建一个文本文件,粘贴下面内容,把{\\"allowed_origins\\": \[\\"\*\\", \"protocol\": \"signal\"}]里面的signal换成应用程序的注册表名称,完成后另存为.reg文件 (注释:若想要只在某网站下去除提醒,将 * 替换为网站链接。)
  3. 双击执行注册表
  4. 打开浏览器清除缓存,就可以了
javascript 复制代码
Windows Registry Editor Version 5.00
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome]
"ExternalProtocolDialogShowAlwaysOpenCheckbox"=dword:00000001
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge]
"ExternalProtocolDialogShowAlwaysOpenCheckbox"=dword:00000001
 
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome]
"AutoLaunchProtocolsFromOrigins"="[{\"allowed_origins\": [\"*\"], \"protocol\": \"signal\"}]"
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge]
"AutoLaunchProtocolsFromOrigins"="[{\"allowed_origins\": [\"*\"], \"protocol\": \"signal\"}]"

说明

  1. Chromium 79 ~ Chromium 84版本可以通过复选框(ExternalProtocolDialogShowAlwaysOpenCheckbox)控制是否显示提示的弹窗。

    javascript 复制代码
    Windows Registry Editor Version 5.00
     
    [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome]
    "ExternalProtocolDialogShowAlwaysOpenCheckbox"=dword:00000001
     
    [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge]
    "ExternalProtocolDialogShowAlwaysOpenCheckbox"=dword:00000001
  2. Chromium 85版及以后可以通过AutoLaunchProtocolsFromOrigins以json的方式更细粒度地控制协议(protocol)及该协议允许自启动的源IP:port、域名(allowed_origins)

javascript 复制代码
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome]
"AutoLaunchProtocolsFromOrigins"="[{\"allowed_origins\": [\"*\"], \"protocol\": \"signal\"}]"
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge]
"AutoLaunchProtocolsFromOrigins"="[{\"allowed_origins\": [\"*\"], \"protocol\": \"signal\"}]"

参考

Microsoft Edge 浏览器策略文档 | Microsoft Learn

Microsoft Edge 浏览器支持的所有策略的 Windows 和 Mac 文档
https://learn.microsoft.com/zh-cn/deployedge/microsoft-edge-policies#autolaunchprotocolsfromorigins

相关推荐
用户0333074139514 小时前
TypeScript using 与 AsyncDisposableStack:在真实服务端代码中协调多资源清理
前端
daisychey14 小时前
用 Playwright 做多平台内容分发,我踩过的 8 个坑
前端
IT_陈寒15 小时前
为什么你应该学习JavaScript?
前端·人工智能·后端
大龄秃头程序员16 小时前
iOS冷启动监控Demo
前端
光影少年16 小时前
为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
前端·javascript·算法
掘金酱16 小时前
[稀土掘金 × 火山引擎] AI用量周榜冲刺赛|获奖名单公示
前端·人工智能·后端
泡泡oO16 小时前
“如果你还在用Superpowers,那我不要和你说话”
前端·后端·全栈
维克兜率天17 小时前
趋势过滤:避免被“假突破“反复打脸
前端
8年区块链老兵17 小时前
一篇文章教会你:用区块高度读懂比特币链上的每一笔交易
前端
xixichensh17 小时前
前端转做AI程序员第一步——开发一个AI流式对话Demo
前端