跳到主要内容

深度链接

深度链接是用自定义协议从浏览器或其他应用打开桌面程序,例如 myapp://task/42。它和 protocol.handle 加载本地页面不是同一件事:深度链接由操作系统启动(或唤醒)你的进程,应用内协议由 Electron 在进程里响应请求。

注册:

app.setAsDefaultProtocolClient('myapp');

接收:

  • macOS 监听 app.on('open-url', handler),并调用 event.preventDefault()。
  • Windows 在进程首次启动时从 process.argv 读取;进程已存在时从 second-instance 的参数读取。

URL 的路径和查询参数来自外部,只处理已知的路径。打开本地文件或执行命令之前,用应用内的确认界面让用户看到将要发生的事。

卸载 Windows 应用时,安装脚本应删掉协议注册表项。

相关文档​