Javascript 对象已被销毁。在重新打开浏览器窗口后,在电子中单击按钮时出现异常

Javascript 对象已被销毁。在重新打开浏览器窗口后,在电子中单击按钮时出现异常,javascript,jquery,node.js,electron,Javascript,Jquery,Node.js,Electron,我不熟悉Electron框架,用Electron开发简单的桌面应用程序。 问题是,当我在electron应用程序中打开一个新窗口并使用菜单栏关闭按钮关闭它,然后再次尝试打开它时,它会抛出“对象已被销毁异常”。即使单击了“关闭”按钮,如何保留BrowserWindow对象?BrowserWindow对象在关闭时应该被销毁。重新打开时需要实例化一个新引用,而不是尝试重用引用 编辑: 如何实例化它取决于您是从主进程(即“main.js”)还是从渲染器进程进行实例化 从主流程来看,它看起来像: var

我不熟悉Electron框架,用Electron开发简单的桌面应用程序。
问题是,当我在electron应用程序中打开一个新窗口并使用菜单栏关闭按钮关闭它,然后再次尝试打开它时,它会抛出“对象已被销毁异常”。即使单击了“关闭”按钮,如何保留BrowserWindow对象?

BrowserWindow对象在关闭时应该被销毁。重新打开时需要实例化一个新引用,而不是尝试重用引用

编辑:

如何实例化它取决于您是从主进程(即“main.js”)还是从渲染器进程进行实例化

从主流程来看,它看起来像:

var electron = require("electron");
var url = require("url");
var path = require("path");
var newWindow = new electron.BrowserWindow({
    width: 700,
    height: 500
});

newWindow.loadURL(url.format({
    pathname: path.join(__dirname, '/SomeStuff.html'),
    protocol: 'file:',
    slashes: true
}));
如果从渲染器进程实例化,则需要使用“远程”对象访问主进程。所以它就像:

var newWindow = new electron.remote.BrowserWindow({
    width: 700,
    height: 500
});

如果有人遇到这个问题,而另一个答案没有帮助。我遇到了一个类似的问题,当时我正在处理关闭窗户的问题。我用
window.destroy()
而不是
window.close()

修复了它,我知道它的对象在关闭后已被销毁,但我应该在哪里再次实例化它??尝试在点击按钮后实例化,但出现“BrowserWindow不是构造函数”错误,我添加了一个示例。第一次发邮件时我正在打电话。希望有帮助!请出示你的密码