如何在chrome中设置自定义协议处理程序?类似于:
myprotocol://testfile
我需要这个来向http://example.com?query=testfile发送请求,然后将httpresponse发送到我的扩展。
发布于 2011-08-18 08:54:39
Chrome13现在支持navigator.registerProtocolHandler
应用编程接口。例如,
navigator.registerProtocolHandler(
'web+custom', 'http://example.com/rph?q=%s', 'My App');
请注意,您的协议名称必须以web+
开头,除了一些常见的协议名称(如mailto
等)。有关更多详细信息,请参阅:http://updates.html5rocks.com/2011/06/Registering-a-custom-protocol-handler
发布于 2014-03-26 00:40:59
这个问题现在已经过时了,但Chrome最近有了更新(至少在打包的应用程序方面是这样)……
http://developer.chrome.com/apps/manifest/url_handlers
和
https://github.com/GoogleChrome/chrome-app-samples/tree/master/samples/url-handler
它允许您为URL注册处理程序(只要您拥有它)。遗憾的是,没有myprotocol://
,但至少你可以做http://myprotocol.mysite.com
,并且可以在那里创建一个网页,将人们指向应用商店中的应用。
发布于 2014-02-22 01:12:21
我就是这么做的。你的应用程序需要在安装时安装一些注册表键,然后在任何浏览器中,你只需链接到foo:\anythingHere.txt,它就会打开你的应用程序,并将该值传递给它。
这不是我的代码,只是我在搜索同样的问题时在网上找到的。只需将下面文本中的所有"foo“更改为您想要的协议名称,并将路径更改为您的exe。
(将此文件放入桌面上另存为foo.reg的文本文件中,然后双击它以安装密钥)-在此行下面进入.reg文件(不包括此行)
REGEDIT4
[HKEY_CLASSES_ROOT\foo]
@="URL:foo Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\foo\shell]
[HKEY_CLASSES_ROOT\foo\shell\open]
[HKEY_CLASSES_ROOT\foo\shell\open\command]
@="\"C:\\Program Files (x86)\\Notepad++\\notepad++.exe\" \"%1\""
https://stackoverflow.com/questions/7087728
复制相似问题