使用已注册的协议从网页打开我的 Electron App

Open my Electron App from a webpage using a registered protocol

我正在使用 app.setAsDefaultProtocolClient("bithop");但是当我在浏览器中导航到 bithop:// 时,我只会得到默认的电子应用程序。 (它说 "To run a local app...")

这不是打包为 .asar 应用程序。这方面的文档似乎很不清楚。

app.setAsDefaultProtocolClient("bithop");

(这是app.js的最后一行)

当我从网络浏览器访问 bithop:// 时,它应该会打开我的电子应用程序。

这是整个脚本:

const {app, BrowserWindow} = require('electron');
let window;

function createWindow() {
  window = new BrowserWindow({
    width: 800,
    height: 600,
    frame: false
  });
  window.loadFile('pages/index.html');
  //window.openDevTools();
  window.on('closed', function () {
    window = null;
  });
};

app.on('ready', createWindow)

app.on('window-all-closed', app.quit)

//Register Protocol
app.setAsDefaultProtocolClient("bithop");

我发现我需要下载电子二进制文件,并将我的应用程序放入其中,而不是作为 npm 模块安装。我用的是https://github.com/electron-userland/electron-packager,真的很简单