gpt4 book ai didi

javascript - 单个 Electron createWindow() 实例变量

转载 作者:行者123 更新时间:2023-12-03 00:21:07 25 4
gpt4 key购买 nike

我创建了一个 Electron 应用程序,主要是一个 Web 应用程序,与 Electron 应用程序有少量集成。大多数只是通过带有 loadURL 的 BrowserWindow 加载网站。

但是,对于生成的每个 CreateWindow(它们具有相同的内容),我需要变量来影响单个窗口,而不是所有窗口。

目前,如果我更改 let 变量,所有窗口的变量都会更改。我不确定如何使变量仅在特定窗口中以特定值进行更新和使用。

例如如果我在一个窗口中设置 userId = 1,当我通过网络应用程序发送 ipc 消息时,它也会在第二个窗口中更改。我不确定这里最好的逻辑是什么。

最佳答案

编辑:

如果您打开一个窗口的两个单独实例,如下所示,则每个变量都应位于各自的字段中。

只需更改main进程中的位置

// Create the browser window.
win = new BrowserWindow({ width: 800, height: 600 })

// and load the index.html of the window.
win.loadURL('https://google.com')

// Create the browser window.
win2 = new BrowserWindow({ width: 800, height: 600 })

// and load the index.html of the window.
win2.loadURL('https://youtube.com')

编辑2

因此,根据评论,我想我为您找到了解决方案。如果您想要每个窗口都有单独的变量,您可以将它们存储在窗口对象本身中。请确保在销毁对象之前提取它们(如果您仍然需要它们):)

// Create the browser windows
let win_0 = new BrowserWindow({ width: 800, height: 600 });
let win_1 = new BrowserWindow({ width: 800, height: 600 });

// Set variables
win_0.UID = 'ASDF-ASDF';
win_1.UID = 'QWER-QWER';

// And now you can just get them like
console.log(win_0.UID, win_1.UID);

关于javascript - 单个 Electron createWindow() 实例变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54310797/

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