gpt4 book ai didi

electron - 如何在主/渲染器进程之间共享数据

转载 作者:行者123 更新时间:2023-12-03 12:34:18 26 4
gpt4 key购买 nike

我是一个完整的 Electron 初学者。假设您正在创建一个简单的类似记事本的应用程序,并希望通过单击应用程序的 [文件 > 保存] 菜单将您键入的内容保存到浏览器窗口的文本区域中,这应该是一个非常常见的功能。

Menu handler 应该在 Main 进程中实现,textarea 显然在 Renderer 进程中。我不知道如何从主进程访问 textarea 中的内容。

最佳答案

在 Electron 应用程序中,Main 和 Renderer 进程之间的通信是通过 ipc 执行的。 Electron 有ipcMainipcRenderer分别在 Main 和 Renderer 进程中使用的模块。

对于您拥有的任务,您可以在用户单击"file">“保存”时向渲染器进程发送消息,这将触发将文本区域保存到文件中。一种实现可能是这样的:

// main process
const { app } = require('electron')

// reference to the browser window
let mainWindow
app.on('ready', () => {
// here create your browser window and assign it to mainWindow
mainWindow = createMainWindow()
})

// clicking File > Save menu triggers following function
const saveClicked = () => {
// Check mainWindow exists
if (mainWindow != null) {
mainWindow.webContents.send('clicked::file:save')
}
}


// renderer process (preload.js)
const { ipcRenderer } = require('electron')

// Now you need to listen for the event you send from the main process
ipcRenderer.on('clicked::file:save', () => {
// IMPLEMENT YOUR LOGIC HERE
})

关于electron - 如何在主/渲染器进程之间共享数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58795005/

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