Google Chrome 自定义 URI 方案重定向到 JS

Google Chrome Custom URI-Scheme redirection to JS

我目前正在 google chrome 中开发自定义 uri 方案(协议),并且需要一种方法来完全从 chrome 浏览器.

例如。如果一个 redirect/anchor link 指向这个例子 uri

testuri://thismessage/additionaldata

然后我想以某种方式重定向回 JS。 IE。打电话说

function protocolMessage(data) { ... }

我探索了 'navigator.registerProtocolHandler' 的使用,但这需要使用 'web+testuri',这不是一个选项(除非有人知道可以用来关闭它的设置) .

我调查过使用 chrome 自定义扩展来捕获 webNavigation 下的 uri,但它除了 http(s) 方案外没有捕获任何内容。而且我也看不到任何允许我直接注册自定义方案的函数。

进一步调查让我尝试调出系统应用程序(使用调用本机可执行文件的自定义 uri 方案),这部分有效,但现在我被困在如何将该消息重定向回当前 page/tab的javascript.

我也看过 NaCL(Pepper API 的),但它似乎也不允许注册自定义方案。

我希望有一个比调出并返回浏览器更好的解决方案,但如果没有,谁能阐明一个可靠的可重用解决方案?

有什么想法吗? 提前致谢

据我所知,不,很遗憾。

所有 Chrome API 都适用于 "supported schemes",您不能添加一个。

web+custom:也是一个死板的限制。

如果您有系统应用程序,您可以通过在应用程序中提供 WebSocket 服务器或使用本机消息传递来与其通信。

本机消息传递的问题是 Chrome 必须启动与本机主机的新实例的连接。因此,您需要能够处理为协议处理和消息传递而单独调用的本机应用程序。