使用电子原子的OSX桌面应用程序的自定义URL协议

时间:2016-07-17 15:49:28

标签: macos protocols desktop-application electron custom-url

我是电子dekstop app的新手。但是,我使用this source code构建了一个桌面应用程序,只是更改了指向我网站的链接。现在我有一个用于mac的功能桌面应用程序。

但我想使用链接打开我的应用 appName:// and-some-link-following

每当我点击 appName:// ....

时,如何实现自定义网址架构以打开dekstop应用

例如: 我想做一些Slack桌面应用程序,点击 slack:// and-some-link

打开

请帮忙。被困在这里2天。提前谢谢。

2 个答案:

答案 0 :(得分:2)

今天我遇到了类似的事情,经过一些研究,我发现了this useful tutorial如何做到这一点。它彻底解释了一切,我认为它可能对面临同样问题的其他人有用。这是亮点:

const electron = require('electron')
const protocol = electron.protocol
// handles links `todo2://<something>`
const PROTOCOL_PREFIX = 'todo2'
function createWindow () {
  mainWindow = new BrowserWindow({width: 1000, height: 800})
  protocol.registerHttpProtocol(PROTOCOL_PREFIX, (req, cb) => {
    const fullUrl = formFullTodoUrl(req.url)
    devToolsLog('full url to open ' + fullUrl)
    mainWindow.loadURL(fullUrl)
  })

}

此外,还有关于如何在我关联的帖子末尾构建 OSX Windows 的指南。

对于那些想要阅读更多内容的人,这里有official docs的链接。

答案 1 :(得分:0)

我找到了。

  1. 为您的应用做一个构建
  2. 右键单击 - &gt;显示包内容
  3. 在info.plist中添加以下内容
  4. Can't pase code. So in image

    1. 打开应用程序一次,将customURL注册到系统中。
    2. 在终端输入 /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -dump | egrep&#34;(bindings。*:$)&#34; | sort 检查列表中的内容。