资讯专栏INFORMATION COLUMN

使用 Electron 从协议处理器启动应用程序

sarva / 1385人阅读

摘要:使用从协议处理器启动应用程序此系列文章的应用示例已发布于可以或下载后运行查看欢迎模块提供了处理协议的方法这些方法允许您设置协议和取消协议来让你的应用成为默认的应用程序类似于当浏览器请求您查看网页时的默认值在浏览器中查看完整文档从其他应

使用 Electron 从协议处理器启动应用程序

此系列文章的应用示例已发布于 GitHub: electron-api-demos-Zh_CN. 可以 Clone 或下载后运行查看. 欢迎 Star .

app 模块提供了处理协议的方法.

这些方法允许您设置协议和取消协议, 来让你的应用成为默认的应用程序. 类似于当浏览器请求您查看网页时的默认值.

在浏览器中查看 完整 app API 文档.

从其他应用中的 URL 启动应用

支持: Win, macOS | 进程: 主进程

您可以将应用设置为针对特定协议打开的默认应用. 例如, 在这个示例中我们将此应用程序设置为 electron-api-demos:// 的默认值. 上面的示例按钮将在默认浏览器中启动一个带有链接的页面. 点击那个链接,它将重新启动此应用程序.

electron-api-demos://open

打包

这个功能只能在 macOS 上使用, 而且需要将应用打包. 如果你以开发模式从命令行启动, 它将无法使用.

当您打包应用程序时, 您需要确保应用程序的 macOS plist 已更新为包含新的协议处理器.

如果您使用 electron-packager, 那么您可以添加 --extend-info 标记,并在其中包含您创建的 plist.

当前程序用例如下:

渲染器进程

const shell = require("electron").shell

const path = require("path")

const protocolHandlerBtn = document.getElementById("protocol-handler")

protocolHandlerBtn.addEventListener("click", function () {
  const pageDirectory = __dirname.replace("app.asar", "app.asar.unpacked")
  const pagePath = path.join("file://", pageDirectory, "../../sections/system/protocol-link.html")
  shell.openExternal(pagePath)
})

主进程

const app = require("electron").app
const dialog = require("electron").dialog

app.setAsDefaultProtocolClient("electron-api-demos")

app.on("open-url", function (event, url) {
  dialog.showErrorBox("欢迎回来", `你来自: ${url}`)
})

主进程





  CFBundleURLTypes
  
    
      CFBundleURLSchemes
      
        electron-api-demos
      
      CFBundleURLName
      Electron API Demos Protocol
    
  
  ElectronTeamID
  VEKTX9H2N7


如果这边文章对您有帮助, 感谢 下方点赞 或 Star GitHub: electron-api-demos-Zh_CN 支持, 谢谢.

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/88969.html

相关文章

  • Electron】酷家乐客户端开发实践分享 — 浏览器启动客户端

    摘要:作者钟离,酷家乐客户端负责人原文地址酷家乐客户端下载地址文章背景在酷家乐客户端在改版成功后,我们积累了许多的宝贵的经验和最佳实践。钟离可以注册多个协议接收参数协议注册完毕之后,我们已经可以在浏览器中,通过访问自定义协议来启动客户端了。 作者:钟离,酷家乐PC客户端负责人原文地址:https://webfe.kujiale.com/browser-to-client/酷家乐客户端:下载...

    Cciradih 评论0 收藏0
  • Electron】酷家乐客户端开发实践分享 — 浏览器启动客户端

    摘要:作者钟离,酷家乐客户端负责人原文地址酷家乐客户端下载地址文章背景在酷家乐客户端在改版成功后,我们积累了许多的宝贵的经验和最佳实践。钟离可以注册多个协议接收参数协议注册完毕之后,我们已经可以在浏览器中,通过访问自定义协议来启动客户端了。 作者:钟离,酷家乐PC客户端负责人原文地址:https://webfe.kujiale.com/browser-to-client/酷家乐客户端:下载...

    刘德刚 评论0 收藏0
  • Electron】酷家乐客户端开发实践分享 — 入坑篇

    摘要:系列文章酷家乐客户端开发实践分享入坑篇酷家乐客户端开发实践分享软件自动更新酷家乐客户端开发实践分享浏览器启动客户端酷家乐客户端开发实践分享进程通信酷家乐客户端开发实践分享下载管理器不定期更新本文的初衷所使用的技术栈和前端工程师完美契合。 作者:钟离,酷家乐PC客户端负责人原文地址:https://webfe.kujiale.com/electron-ku-jia-le-ke-hu-d...

    jay_tian 评论0 收藏0
  • Electron】酷家乐客户端开发实践分享 — 入坑篇

    摘要:系列文章酷家乐客户端开发实践分享入坑篇酷家乐客户端开发实践分享软件自动更新酷家乐客户端开发实践分享浏览器启动客户端酷家乐客户端开发实践分享进程通信酷家乐客户端开发实践分享下载管理器不定期更新本文的初衷所使用的技术栈和前端工程师完美契合。 作者:钟离,酷家乐PC客户端负责人原文地址:https://webfe.kujiale.com/electron-ku-jia-le-ke-hu-d...

    TwIStOy 评论0 收藏0

发表评论

0条评论

sarva

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<