OSX 桌面应用的自定义 url 协议,使用 electron by atom
Custom url protocol for OSX desktop app using electron by atom
我是电子桌面应用程序的新手。但是我使用 this source code 构建了一个桌面应用程序,只是将 link 更改为我的站点。现在我有了 mac.
的功能性桌面应用程序
但我想使用 link 打开我的应用程序说 appName://and-some-link-follows
我如何实现自定义 url 模式以在我单击 appName://....
时打开 dekstop 应用程序
例如:
我想做一些类似 Slack 桌面应用程序的事情,它通过单击 slack://and-some-link
打开
请帮忙。卡在这里2天。提前致谢。
我找到了。
- 构建您的应用程序
- 右键单击 -> 显示包内容
- 在info.plist中添加以下内容
- 打开应用程序一次,将自定义 URL 注册到系统中。
在终端输入 /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -dump|egrep "(bindings.*:$)"|sort检查您的是否在列表中。
今天我遇到了类似的事情,经过一些研究,我发现 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 构建的指南post 我 link 编了。
对于那些想多读一点的人,这里有一个 link 到 official docs。
我是电子桌面应用程序的新手。但是我使用 this source code 构建了一个桌面应用程序,只是将 link 更改为我的站点。现在我有了 mac.
的功能性桌面应用程序但我想使用 link 打开我的应用程序说 appName://and-some-link-follows
我如何实现自定义 url 模式以在我单击 appName://....
时打开 dekstop 应用程序例如: 我想做一些类似 Slack 桌面应用程序的事情,它通过单击 slack://and-some-link
打开请帮忙。卡在这里2天。提前致谢。
我找到了。
- 构建您的应用程序
- 右键单击 -> 显示包内容
- 在info.plist中添加以下内容
- 打开应用程序一次,将自定义 URL 注册到系统中。
在终端输入 /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -dump|egrep "(bindings.*:$)"|sort检查您的是否在列表中。
今天我遇到了类似的事情,经过一些研究,我发现 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 构建的指南post 我 link 编了。
对于那些想多读一点的人,这里有一个 link 到 official docs。