在我的应用程序中,我有两个窗口:mainWindow和actionWindow。在我的 mainWindow 上,当 actionWindow 关闭时,我使用侦听器从主进程接收消息。ipcRenderer.on然而,该消息没有通过。
用于mainWindow控制在 上发生的操作actionWindow(例如导航到 URL、远程关闭窗口……)。我想赋予用户手动移动和关闭的权力actionWindow,这就是为什么它的标题栏可见且可用。
我通过预加载文件中的 contextBridgeipcRenderer.invoke公开双向通信并公开给 mainWindow 的渲染器。ipcRenderer.on
这就是代码的样子(基于vite-electron-builder 模板)
主要流程
const mainWindow = new BrowserWindow({
show: false, // Use 'ready-to-show' event to show window
webPreferences: {
nativeWindowOpen: true,
webviewTag: false,
preload: join(__dirname, "../../preload/dist/index.cjs"),
},
});
const actionWindow = new BrowserWindow({
// some props
})
actionWindow.on("close", () => {
console.log("window closed")
mainWindow.webContents.send("closed", { message: "window closed" }); …Run Code Online (Sandbox Code Playgroud)