从标准Web浏览器启动Electron应用程序

Mer*_*son 11 electron

单击mailto:链接将打开我的默认邮件客户端.以类似的方式,我想推出一个电子应用程序my-app:.http如果未安装应用程序,实现此目的的最佳方法是什么,并优雅地回退到标准链接?

此外,我还希望能够通过一些额外的细节my-app:foo/bar.如何在电子发射时拦截它?

我已经阅读了一些关于我认为可能相关内容的文档:http://electron.atom.io/docs/v0.36.0/api/protocol/但是作为前端开发人员,我对总体过程的理解存在一些差距作品.任何帮助非常感谢!

Jen*_*ger 11

自从这个问题首次发布以来,Electron已经发展了很多.

你不再需要深入潜水,可以跳过Electron协议API.相反,使用app.setAsDefaultProtocolClient(protocol[, path, args])界面及其兄弟姐妹app.removeAsDefaultProtocolClient(protocol[, path, args])app.isDefaultProtocolClient(protocol[, path, args]).

这些使您可以注册协议标识符your-protocol://并接收参数:

包括协议在内的整个链接将作为参数传递给您的应用程序.电子API文档


小智 0

我不确定是否可以做你想做的事。取决于您是想从实际的浏览器窗口还是只是从另一个 Electron 实例启动 Electron 应用程序。

我发现另一个 Stack Overflow 帖子链接显示了一种解决方法(尽管我担心它不会慷慨地默认为任何内容),并解释了直接从浏览器启动程序的危险性。

如果您想从另一个 Electron 应用程序启动您的 Electron 应用程序,那么您可能需要查看此链接