gpt4 book ai didi

Electron - 我的应用程序可以与主进程和渲染器进程通信吗?

转载 作者:行者123 更新时间:2023-12-02 08:03:29 24 4
gpt4 key购买 nike

我编写了一个非常非常基本的 Electron 应用程序 - 标准的 hello world 类型,您基本上有一个 HTML 文件,上面写着“Hello, World” - 它位于 Electron 内的“app”目录中,然后是运行应用程序时通过 main.js 加载。

现在,假设我希望能够通过我的应用程序中的 javascript 与这些进程中的任何一个(主进程或渲染器,最好是两者!)进行通信,可以吗?我在网上找不到任何关于它的信息 - 但我的主要问题可能是我什至不知道首先要搜索什么。我对 Electron 很陌生。

最佳答案

我想您正在谈论主进程和其他浏览器窗口。

您可以使用 BrowserWindow.webContents.send(channel[, arg1][, arg2][, ...]) 将消息从主进程发送到浏览器窗口,并接收它使用ipcRenderer。举个例子:

主要流程:

subWindow.webContents.send("foo","bar");

BrowserWindow 称为 subWindow:

var ipc=require("electron").ipcRenderer;
ipc.on("foo",(event, arg1) => {
console.log(arg1); //Outputs "bar"
});

当您想要将数据从浏览器窗口发送到主进程时,请使用remote.app.emit。使用 app.on 接收它。同样的例子:

主要流程:

var app=require("electron").app;
app.on("test",(arg) => {
if (arg=="hey!") console.log("ha!");
}

子窗口:

require("electron").remote.app.emit("test","hey!");

关于Electron - 我的应用程序可以与主进程和渲染器进程通信吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43859394/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com