相关疑难解决方法(0)

使用Electron(macOS)打开app并使用深层链接传递参数

我想打开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

16
推荐指数
2
解决办法
6655
查看次数

Electron JS - 深层链接 - 如何使用深层链接的示例

在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.execPathprocess.execArgv.

可以在应用程序启动时在回调中传递吗?对此的任何帮助都会很棒.

javascript electron

7
推荐指数
1
解决办法
1040
查看次数

Windows 中自定义协议的 Electron app.on("open-url") 替代方案

我正在 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)

javascript windows electron

4
推荐指数
1
解决办法
5471
查看次数