关闭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

相关推荐
雨雨雨雨雨别下啦16 小时前
vant介绍
前端
小小小小宇16 小时前
大模型失忆问题探讨
前端
wordbaby16 小时前
rn-cross-calendar:一个兼容 React 18/19、RN/RNOH 的跨平台日历组件
前端·react native·harmonyos
weixin_5231853216 小时前
Collections.unmodifiableMap详解:真的不可修改吗?
java·linux·前端
江米小枣tonylua16 小时前
关掉 VSCode:在 NeoVim12 上配置 Claude Code
前端·程序员
2301_7736436216 小时前
ceph镜像
前端·javascript·ceph
程序员黑豆16 小时前
AI全栈开发之Java:什么是JDK
前端·后端·ai编程
To_OC16 小时前
万字解析《JS语言精粹》之第四章:函数15大核心精髓(JS灵魂核心)
前端·javascript·代码规范
mqcode16 小时前
Vue3 + Element Plus + Vite 企业级后台框架搭建全流程
前端
SL-staff16 小时前
Web 白板技术架构深度解析:从渲染到协作的选型哲学
前端·架构