Node.js Can';电子中的t关闭窗口
我的renderer.js中有以下代码:Node.js Can';电子中的t关闭窗口,node.js,electron,Node.js,Electron,我的renderer.js中有以下代码: const ipcRenderer = require('electron').ipcRenderer; const remote = require('electron').remote; function sendForm(event) { event.preventDefault() // stop the form from submitting let code = document.getElementById("
const ipcRenderer = require('electron').ipcRenderer;
const remote = require('electron').remote;
function sendForm(event) {
event.preventDefault() // stop the form from submitting
let code = document.getElementById("code").value;
ipcRenderer.send('2FacLogin', {twoFactorCode: code});
// TODO Close Window
var window = remote.getCurrentWindow();
window.close();
}
这是打开窗口的方式:
const win = new BrowserWindow({
width: 300,
height: 300,
webPreferences: {
nodeIntegration: true,
contextIsolation: false,
}
})
为什么窗口不关闭?由于Electron 10.0.0默认情况下禁用了
远程
模块,因此在创建新的浏览器窗口时,必须通过向webPreferences
对象添加enableRemoteModule:true
来显式启用该模块
const win = new BrowserWindow({
width: 300,
height: 300,
webPreferences: {
nodeIntegration: true,
contextIsolation: false,
enableRemoteModule: true
}
})
见:
顺便说一句,以下声明:
var window = remote.getCurrentWindow();
大多数情况下都会触发如下错误:
未捕获的TypeError:无法读取未定义的属性“getCurrentWindow”
你可以通过查看DevTools的控制台来发现自己