【发布时间】:2017-07-19 02:14:06
【问题描述】:
在 Electron 中,我的主要进程打开了一个 BrowserWindow。 BrowserWindow 会加载一个 html 页面,然后同一个窗口最终会加载另一个 html 页面。
main.js
var mainWindow;
global.mainState = {
settings: {}
}
mainWindow = createWindow('main', {
width: 1000,
height: 800,
});
if (curState == 'load') {
mainWindow.loadURL(`file://${__dirname}/interface/load.html`, {})
}
if (curState == 'login') {
mainWindow.loadURL(`file://${__dirname}/interface/login.html`, {})
}
加载.html
const remote = require('electron').remote;
var testGlobal = remote.getGlobal('mainState')
testGlobal.settings = 'test value'
testGlobal.settings.inner = 'test value2'
main.js 加载第二个页面(login.html)时,全局变量会被删除/取消引用吗?文档说,如果渲染器进程取消引用全局变量,那么该变量将被 gc'd。当我尝试对此进行测试时,我得到了不一致的结果,我只想从比我更聪明的人那里得到一些解释。
【问题讨论】:
标签: javascript html garbage-collection global-variables electron