You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过浏览器链接或唤起提示打开Electron开发的Node.js桌面应用

Electron 桌面应用浏览器链接唤起实现方案

你要实现的是自定义URI协议唤起能力,不需要额外第三方npm包,Electron本身已经提供了原生支持,按以下步骤配置即可:

1. 主进程核心逻辑配置

在你的Electron主进程入口文件(通常为main.js/main.ts)中添加如下代码:

  • 协议注册逻辑,需要放在app.whenReady()触发之前执行
const { app, path } = require('electron')
// 自定义协议名,后续浏览器唤起链接格式为 {协议名}://{参数}
const CUSTOM_PROTOCOL = 'mymeetapp'

// 适配开发/生产环境的协议注册
if (process.env.NODE_ENV === 'development') {
  // 开发环境需额外指定electron执行路径和项目入口路径,根据你的项目结构调整入口路径
  app.setAsDefaultProtocolClient(CUSTOM_PROTOCOL, process.execPath, [path.resolve(process.argv[1])])
} else {
  // 生产环境直接注册即可
  app.setAsDefaultProtocolClient(CUSTOM_PROTOCOL)
}
  • 监听唤起事件,获取链接携带的参数
let mainWindow; // 替换为你自己的主窗口实例变量

// macOS 系统唤起事件监听
app.on('open-url', (event, url) => {
  event.preventDefault()
  // url 为完整的唤起链接,示例:mymeetapp://join?roomId=123456
  // 此处添加你的业务逻辑,比如跳转会议页面、填充参数等
  if (mainWindow) {
    mainWindow.focus()
  }
})

// Windows 系统唤起事件监听
app.on('second-instance', (event, commandLine) => {
  // Windows 系统唤起链接会放在commandLine数组的末尾
  const invokeUrl = commandLine.pop()
  // 此处添加你的业务逻辑
  if (mainWindow) {
    if (mainWindow.isMinimized()) mainWindow.restore()
    mainWindow.focus()
  }
})

2. 开发环境测试

你当前用yarn run dev启动应用,启动完成后直接打开浏览器,在地址栏输入你定义的协议链接(比如mymeetapp://join?roomId=123456)回车,即可弹出唤起提示,选择你的应用完成跳转。
如果没有弹出唤起提示,可以手动检查系统协议关联:

  • Windows:打开「设置→应用→默认应用→按协议指定默认应用」,找到你定义的CUSTOM_PROTOCOL,确认关联到当前运行的Electron程序
  • macOS:打开「脚本编辑器」,运行代码open location "mymeetapp://test"即可测试唤起

3. 生产打包配置

如果使用electron-builder打包,需要在package.json的build配置中添加协议声明,打包安装后会自动注册系统协议:

{
  "build": {
    "protocols": [
      {
        "name": "mymeetapp",
        "schemes": ["mymeetapp"]
      }
    ]
  }
}

如果使用electron-packager打包,添加打包参数--protocol=mymeetapp --protocol-name=mymeetapp即可。

4. 网页端调用方式

在你的网页中直接添加对应协议的超链接即可:

<a href="mymeetapp://join?roomId=123456">点击加入会议</a>

用户点击链接后就会弹出唤起桌面应用的提示。

内容的提问来源于stack exchange,提问作者user11531820

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 19:24:03