Google Chrome浏览器无法打开自定义协议

时间:2017-12-12 09:34:33

标签: windows google-chrome

我一直在使用一种简单的机制在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屏蔽了吗?这可以解除阻止吗?谢谢你的帮助。

4 个答案:

答案 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)