您可以通过使用 IPCRenderer 和 IPCMain 轻松实现此目的,以便在主进程和渲染器之间传递消息。
index.js
const electron = require('electron')
const {app, BrowserWindow, ipcMain} = electron
app.on('ready',()=>{
let win = new BrowserWindow({width:960, hehight:540})
win.loadURL(`file://${__dirname}/login.html`)
})
ipcMain.on('open-new-window', (event, fileName) => {
let win = new BrowserWindow({width:960, height:540})
win.loadURL(`file://${__dirname}/` + fileName + `.html`)
}
如您所见,我更改了您的代码只是为了添加ipcMain
并接收来自渲染器的消息。
login.js
const {ipcRenderer} = require('electron');
let login = document.getElementById('login');
login.addEventListner('click', () => {
ipcRenderer.send('open-new-window', 'pageTwo');
}, false);
login.js 也是如此ipcRenderer
.
该文档解释得比我更好,并且可以找到这里是 ipcMain https://electron.atom.io/docs/api/ipc-main/ and 这里是 ipcRenderer https://electron.atom.io/docs/api/ipc-renderer/.