electronicjs中的处理和注册协议

时间:2018-12-27 15:38:04

标签: javascript electron

我正在尝试通过URI(“ openfoobar:// paratmers”)从浏览器打开Eelectron应用程序

我确实通过registerHttpProtocol注册了协议,并添加了注册表项。 当我点击链接<a href="openfoobar://para1">Open in Notes</a>时 该应用程序将打开,但没有接收到任何参数。

请查看下面的代码。

package.json

"protocols": [{
    "name": "openfoobar",
    "role": "Viewer",
    "schemes": ["openfoobar"]
}]

main.js

const PROTOCOL_PREFIX = "openfoobar"
protocol.registerStandardSchemes([PROTOCOL_PREFIX])

...

protocol.registerHttpProtocol(PROTOCOL_PREFIX, (req, cb) => {
    console.log('passed params ' + req);
    //mainWindow.loadURL(fullUrl)`
})

我希望在控制台passed params para1中看到。

1 个答案:

答案 0 :(得分:0)

事实证明,在macOS上,您需要处理open-url事件:

    app.on("open-url", (event, url) => {
        console.log(url);
    });