使用Electron从协议处理器启动应用程序。本系列文章的应用示例已发布在GitHub上:electron-api-demos-Zh_CN。您可以克隆或下载并运行查看。欢迎来到星空。app模块提供处理协议的方法。这些方法允许您设置协议和取消协议以使您的应用程序成为默认应用程序。类似于浏览器要求您查看网页时的默认设置。在浏览器中查看完整的应用程序API文档。在其他应用程序中从URL启动应用程序支持:Win、macOS|进程:主进程您可以将应用程序设置为为特定协议打开的默认应用程序。例如,在此示例中,我们将此应用程序设置为electron-api-demos://的默认值。上面的示例按钮将在您的默认浏览器中启动一个带有链接的页面。单击该链接,它将重新启动该应用程序。electron-api-demos://open
打包此功能仅在macOS上可用,并且需要应用程序打包。如果你在开发模式下从命令行启动,它是行不通的。打包应用程序时,您需要确保应用程序的macOSplist已更新以包含新的协议处理程序。如果您使用electron-packager,那么您可以添加--extend-info标志并包含您创建的plist。目前程序使用示例如下:rendererprocessconstshell=require('electron').shellconstpath=require('path')constprotocolHandlerBtn=document.getElementById('protocol-handler')protocolHandlerBtn.addEventListener('click',function(){constpageDirectory=__dirname.replace('app.asar','app.asar.unpacked')constpagePath=path.join('file://',pageDirectory,'../../sections/system/protocol-link.html')shell.openExternal(pagePath)})主进程constapp=require('electron').appconstdialog=require('electron').dialogapp.setAsDefaultProtocolClient('electron-api-demos')app.on('open-url',function(event,url){dialog.showErrorBox('Welcomeback',`你来自:${url}`)})主进程
