我一直在使用一种简单的机制在Windows 10上注册自定义URL协议,允许我们的Web应用程序中的链接在客户端计算机上启动本地程序。例如:
< a href =“mycustcomprotocol:// scan / 0& 1608962& 1& 248”>启动程序< / a>
在注册表中,协议在此处注册:
Ordinateur \ HKEY_CLASSES_ROOT \ mycustomprotocol \壳\开放\命令
的值如下:
C:\ Program Files(x86)\ MyProgram \ MyExecutable.exe“%1”
它已停止在Chrome 63上运行。开发控制台或网络选项卡中都没有显示任何内容,但在Firefox或Microsoft Edge上仍然可以正常运行。
如果我在C:\ Users \ johndoe \ AppData \ Local \ Google \ Chrome \ User Data中删除我的用户个人资料,然后再次点击我的自定义链接,Chrome会询问我是否要启动我的本地程序但是没有任何反应我点击“打开”按钮。
是吗?此功能现在已被Chrome屏蔽了吗?这可以解除阻止吗?谢谢你的帮助。
答案 0 :(得分:3)
原来我错过了注册表中的两个键。 Edge可以,但不适用于Chrome。以下是在Level \ HKEY_CLASSES_ROOT \ mycustomprotocol \中添加的键:
名称类型数据
(默认)REG_SZ网址:我喜欢的程序
URL协议REG_SZ
答案 1 :(得分:1)
此Chrome错误刚刚修复: https://bugs.chromium.org/p/chromium/issues/detail?id=788431
如果您不想等待部署修复程序,Reddit上的这个discussion会提供一个可能的解决方案。
答案 2 :(得分:0)
我们在 Chrome 63 中也面临着相同的自定义协议。
协议在此处注册:
Ordinateur\HKEY_CLASSES_ROOT\mycustomprotocol\shell\open\command
的值如下:
C:\ Program Files(x86)\ MyProgram \ MyExecutable.exe“%1”
此外,我们在计算机\HKEY_CLASSES_ROOT\mycustomprotocol\
Name Type Data
(Default) REG_SZ URL:My Fancy Program
URL Protocol REG_SZ
浏览器打开弹出窗口以允许用户启动客户端应用程序。客户端应用程序启动。但总是允许选项没有得到保存。浏览器始终打开弹出窗口以启动客户端应用程序
答案 3 :(得分:-2)