我想打开app并使用Electron(macOS)通过深度链接传递参数.
项目'electron-deep-linking-mac-win'在GitHub上.

编辑package.json,按照'电子生成器'快速设置指南生成mac安装程序:
{
"name": "electron-deep-linking-osx",
"version": "1.0.0",
"description": "A minimal Electron application with Deep Linking (OSX)",
"main": "main.js",
"scripts": {
"start": "electron .",
"pack": "build --dir",
"dist": "build"
},
"repository": "https://github.com/oikonomopo/electron-deep-linking-osx",
"keywords": [
"Electron",
"osx",
"deep-linking"
],
"author": "GitHub",
"license": "CC0-1.0",
"devDependencies": {
"electron": "1.6.6",
"electron-builder": "17.1.2"
},
"build": {
"appId": "your.id",
"mac": {
"category": "your.app.category.type"
},
"protocols": {
"name": "myApp",
"schemes": ["myApp"]
}
}
}
Run Code Online (Sandbox Code Playgroud)
编辑main.js,附加代码注册myappurl方案协议,监听'open-url'事件 …
macos custom-protocol electron custom-url-protocol electron-builder
在Electron JS中,我为Windows创建了一个应用程序并注册了我自己的深度链接协议.单击我的链接时,应用程序会正确打开ludo://play?level=1234.没问题.但是我不知道如何检索我的应用程序内部的深层链接.app.setAsDefaultProtocolClient的文档提到了这句话:
The whole link, including protocol, will be passed to your application as a parameter.
谁能告诉我如何检索它?因为它不在,process.argv也不在process.execPath或process.execArgv.
可以在应用程序启动时在回调中传递吗?对此的任何帮助都会很棒.
我正在 Electron 中开发一个应用程序,我需要处理这个应用程序内的自定义协议。
我正在用app.setAsDefaultProtocolClient(PROTOCOL)这个。
我在 macOS 上使用“ open-url ”来通过我的自定义协议处理 URL,它运行顺利,但我无法在 Windows 上弄清楚它。我正在 URL 中发送一些数据,因此仅打开窗口是行不通的。
我检查了这个答案,但这是在 2016 年回答的,并且该方法makeSingleInstance现已弃用。在文档中,它建议使用requestSingleInstanceLock,但它不接受任何回调或返回 URL。
那么如何在 macOS 和 Windows 中启用相同的功能呢?
索引.js
app.on('ready', () => createWindow(`file://${__dirname}/views/welcome.html`));
app.on('activate', () => {
// eslint-disable-next-line no-shadow,global-require
const { mainWindow } = require('./utils/createWindow');
// On OS X it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (mainWindow === …Run Code Online (Sandbox Code Playgroud)