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 必须启动与本机主机的新实例的连接。因此,您需要能够处理为协议处理和消息传递而单独调用的本机应用程序。
我目前正在 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 必须启动与本机主机的新实例的连接。因此,您需要能够处理为协议处理和消息传递而单独调用的本机应用程序。