我想在Chrome或火狐中注册一个定制的文件协议,就像电子一样(请看他们的API来做这件事:https://www.electronjs.org/docs/api/protocol)。我想知道是否有一种方法可以将其作为浏览器扩展来实现,或者我必须修改浏览器的源代码。
我希望API看起来像这样(只是一个伪代码,以帮助解释我的意思):
registerHandler('myprotocol://', req => {
response('<body>You requested: ' + req.url);
});澄清:navigator.registerProtocolHandler不是我所需要的。它所做的是注册一个协议,当单击该协议时,打开一个外部应用程序来处理该协议。但我想要的是一种协议处理程序方案,它以请求响应的方式工作,例如,可以在JS/CSS/HTML查询中使用,并且可以在浏览器中呈现内容进行响应。
发布于 2021-01-24 03:57:33
我会回答我自己的问题,因为我找到了我需要的东西:https://github.com/mozilla/libdweb
这是Firefox Nightly的一个实验性特性,它允许注册自定义协议,并使用firefox addon为该协议提供所有请求。这不是一个WebExtension标准,也不是在浏览器上工作,只是在夜间,但我很高兴听到有人这样做。
https://stackoverflow.com/questions/65368905
复制相似问题