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 浏览器打开外部应用程序的弹窗
- 先关闭chrome/edge 浏览器
- 新建一个文本文件,粘贴下面内容,把[{\"allowed_origins\": [\"*\"], \"protocol\": \"signal\"}]里面的signal换成应用程序的注册表名称,完成后另存为.reg文件 (注释:若想要只在某网站下去除提醒,将 * 替换为网站链接。)
- 双击执行注册表
- 打开浏览器清除缓存,就可以了
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\"}]"
说明
Chromium 79 ~ Chromium 84版本可以通过复选框(ExternalProtocolDialogShowAlwaysOpenCheckbox)控制是否显示提示的弹窗。
javascriptWindows 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
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