问题标签 [ipcrenderer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
357 浏览

electron - Electron:ipcMain.on 和 ipcMain.handle 可以使用相同的频道名称吗?

我们可以为 ipcMain.on 方法和 ipcMain.handle() 注册相同的通道吗?

例如:

上面的代码会给出错误No handler register for 'test' 吗?如果 ipcRenderer 按顺序通过调用和 sendSync 调用它?

例如:

0 投票
0 回答
309 浏览

javascript - 调用第二个实例时,Electron ipcRenderer 调用不起作用

在 Electron 中, ipcRenderer.invoke() 在实例已经创建的情况下打开应用程序后不起作用。这是我的代码:

是否有另一种方法可以在不使用 ipcRenderer.invoke() 和 ipcMain.handle() 的情况下将信息从渲染器发送到主程序?或者有没有办法继续使用 ipcRenderer.invoke()?

我的渲染器代码示例适用于第一个实例但不适用于第二个实例

0 投票
1 回答
407 浏览

javascript - 如何将 ipcMain.on 调用移到 main.js 文件之外

我正在使用 Electron 和 React 开展一个项目。我将通过 ipcMain 和 ipcRenderer 对数据库进行多次调用,因此我将对 ipcMain 的调用移至另一个文件(ipcMainHandler.js)。

我现在面临的挑战是如何将响应发送回 ipcRenderer。我无法从该文件中访问 mainWindow。

这是我的主文件的代码。

ipcMainHandler.js 文件

我尝试过的事情

  • 从远程访问 currentWindow - 引发远程未定义错误
  • 将 mainWindow 添加到全局变量并尝试在 ipcHander 中访问它。- 这也返回一个未定义的消息。
0 投票
1 回答
225 浏览

reactjs - ipcRenderer 没有被触发

我正在尝试使用 IPC 在我的反应组件主电子过程之间进行通信。 在组件中

main.dev.ts

都分别试了。但这些都不起作用。

如何在我的 react-electron 应用程序中正确使用 IPC。我用过这个样板:https ://github.com/electron-react-boilerplate/electron-react-boilerplate

0 投票
1 回答
392 浏览

javascript - Angular 11 Electron IPC 通信“发送”未定义

我做了第一次尝试,想使用角度渲染器进程中的电子 API。我按照中的说明进行操作

创建 Angular -Electron 应用程序的指令

所以在我的 main.js 文件中我添加了:

我还添加了

在我的 app.component.ts 文件中添加了导入import { IpcRenderer } from 'electron';

我添加了以下构造函数

由于我的 CLI 并不完全清楚 icp 将是 IpcRenderer 类型,因此我在这一行中添加了

带功能

它应该能够向“主”进程发送一些东西。但是,如果我调用该函数,我会收到错误

TypeError:无法读取未定义的属性“发送”

我做错了什么?

0 投票
0 回答
25 浏览

express - Electron,ipcMain.on 如果它在函数内部,则不会发送

您好,我正在尝试从集成在电子中的快速应用程序发送 ipcMain,问题是需要在函数内部发送 ipcMain 但不起作用,如果它在函数外部工作正常..

0 投票
0 回答
110 浏览

javascript - Electron 的 ipcMain 和 ipcRenderer 不工作

似乎无法弄清楚我做错了什么。下面是我的 main.js 代码。从 UART 读取数据似乎工作正常。只是 ipcMain 和 ipcRender 不起作用。他们没有交换乒乓球。我正在使用 Debian Debian GNU/Linux 10 (buster)

main.js

我没有收到任何错误。该应用程序启动得很好。这两个文件似乎没有相互通信。

索引.html

0 投票
1 回答
73 浏览

javascript - 在 electronJS 中的多个 ipcRenderer 事件之后调用回调函数

我想在两次(多次)ipcRenderer.on()触发后调用回调函数。我厌倦了这个...

但不起作用,我希望首先两个 IPC 事件ipcRenderer.on('all-items-data-fetched', (event, data) => {...}并且ipcRenderer.on('all-groups-data-fetched', (event, data) => {...}应该触发然后调用回调函数。我怎样才能做到这一点?

0 投票
0 回答
923 浏览

reactjs - 电子 | 调用远程方法“某些名称”时出错

我正在尝试在我的电子应用程序中实现。

main.ts

在 React.Component 中,我得到:

它给了我错误,说:

如何注册活动?

我实际上正在尝试找出 GitHub 桌面的 IPC,这是一个很酷的电子应用程序:

0 投票
0 回答
127 浏览

javascript - 为什么 Electron 的发送方法在主进程中不起作用?

我有大麻烦了。我检查了其他解决方案,但没有任何帮助。我不明白为什么“发送”方法在这里不起作用。没有例外,没有消息或其他任何东西。

我尝试将 send 方法包装在另一种方法中,但失败了。我尝试使用“ sendToFrame ”方法,但也失败了。

主要的:

下面,“ipcRenderer.send”方法有效。当我使用“webContents.send”方法(在主进程中)时,它将数据发送到主进程但没有收到任何响应。

新客户端.js:

编辑:

我忘记了……我将数据发送到了错误的窗口。

您可以使用BrowserWindow.getAllWindows,然后将数据发送到特定窗口。

就个人而言,我在窗口打开时添加了一个事件,这样我可以正确发送数据和管理窗口。