【问题标题】:Custom protocol in Chrome not working as expectedChrome 中的自定义协议未按预期工作
【发布时间】:2019-11-10 15:07:02
【问题描述】:

我的注册文件如下所示(Exoscape.reg):

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Classes\exoscape-launcher]
"URL Protocol"="\"\""

@="\"URL:ExoScape-Launcher Protocol\""

[HKEY_CURRENT_USER\Software\Classes\exoscape-launcher\DefaultIcon]
@="\"Launcher.jar,1\""

[HKEY_CURRENT_USER\Software\Classes\exoscape-launcher\shell]

[HKEY_CURRENT_USER\Software\Classes\exoscape-launcher\shell\open]

[HKEY_CURRENT_USER\Software\Classes\exoscape-launcher\shell\open\command]
@="\"C:\\Program Files\\ExoScape\\Launcher.jar\" \"%1\""

我的文件位于正确的位置,当我尝试在 CMD 中进行测试时,我没有收到任何错误,但没有启动:

"C:\Program Files\ExoScape\Launcher.jar" "ExoScape-Launcher:Launcher.jar"

我的HREF 标记在我的网站中看起来像这样,单击时,我会收到打开启动器提示,按下时不会启动:

<a href="ExoScape-Launcher:Launcher.jar">Play Now</a>

我错过了什么?

【问题讨论】:

  • 试试ExoScape-Launcher:\\Launcher.jarExoScape-Launcher:\\\Launcher.jar ?
  • 都不工作@aynber

标签: php html google-chrome registry protocols


【解决方案1】:

如果您已经导出任何现有的协议定义(即\HKCR\http\\HKLM\SOFTWARE\Classes\http\ 而不是\HKCU\*)并将其与您的比较,那么您会注意到它至少应该是"URL Protocol"=""(未设置,不是空文本)。此外,空行可能会刺激 REGEDIT 正确导入您的文件。

因此,将其导出,根据您的需要进行修改,然后重试。为什么你省略了 DefaultIcon 的路径?

【讨论】:

  • 那应该怎么看,我是直接从教程中照过来的
  • “教程”?您既没有提到这一点,也没有与之相关联。到目前为止,我只能说这是错误的。
  • 我的意思是,它直接从 msdn 文档中使用您自己的类名,Classes\http 将是 http:$1 其中 $1 是查询,我想要 exoscape-launcher:$1 所以你的答案是不感觉呢?另外,URL Protocol 应该是空的,它只是一个声明
  • 您不明白:打开 REGEDIT,导航到 http 键,然后导出所有内容,然后检查该文件(与您引用的内容进行比较),然后根据您的需要进行修改。而"\"\"" 不等于"",因此它是错误的。 “msdn docs”太宽泛 - 链接到实际页面。
猜你喜欢
  • 2013-02-26
  • 1970-01-01
  • 2022-11-11
  • 2018-03-09
  • 2017-01-01
  • 2021-10-22
  • 2015-11-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多