javascript - 使用已注册的协议(protocol)从网页打开我的 Electron App

标签 javascript node.js electron protocols

我正在使用 app.setAsDefaultProtocolClient("bithop");但是当我在浏览器中导航到 bithop://时,我只会得到默认的 Electron 应用程序。 (它说“要运行本地应用程序...”)

enter image description here

这未打包为 .asar 应用程序。关于这个的文档似乎很不清楚。

app.setAsDefaultProtocolClient("bithop");

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

当我从网络浏览器转到 bithop://时,它应该会打开我的 Electron 应用程序。

enter image description here

这是整个脚本:

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");

最佳答案

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

关于javascript - 使用已注册的协议(protocol)从网页打开我的 Electron App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53906689/

相关文章:

javascript - JavaScript 中的这个运算符

Javascript Date() 构造函数不起作用

javascript - 正确卸载 react 组件

node.js - 在 Wintersmith 中访问额外的 Markdown 元数据参数

javascript - 自定义 yeoman 生成器测试 : creating files

javascript - 是什么会导致Math.random()在每次重新加载页面时生成相同的 “random”号?

javascript - 如何在 JavaScript 中将驼峰式字符串转换为破折号?

Javascript 在调用未定义的函数时不会抛出错误

electron - 创建多个窗口

javascript - 将文件从 Electron 发送到连接在 LAN 中的服务器