gpt4 book ai didi

javascript - 如何使用新的 html 文件打开更新 Electron 浏览器窗口

转载 作者:行者123 更新时间:2023-11-30 09:33:30 27 4
gpt4 key购买 nike

我是 Electron 新手。我有两个 html 页面,我想在单击按钮时打开第二个页面。我的代码如下,但我只得到一个空白窗口;不是第二页。

这是 index.js

const electron = require('electron')
const {app, BrowserWindow} = electron

app.on('ready',()=>{
let win = new BrowserWindow({width:960, hehight:540})
win.loadURL(`file://${__dirname}/login.html`)
})

exports.openWindow = (fileName) => {
let win = new BrowserWindow({width:960, height:540})
win.loadURL(`file://${__dirname}/` + fileName + `.html`)
}

这是 login.js

const remote = require('electron').remote
const index = remote.require('./index.js')

var login = document.getElementById('login')
login.addEventListner('click', () => {
var window = remote.getCurrentWindow()
index.openWindow('pageTwo')
window.close()
}, false)

login 是 html 按钮的 id。

我想要第二页。我该如何执行此操作?

最佳答案

您可以使用 IPCRenderer 和 IPCMain 轻松实现这一点,以便在主进程和渲染器之间传递消息。

索引.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 并从渲染器接收消息。

登录.js

const {ipcRenderer} = require('electron');

let login = document.getElementById('login');
login.addEventListner('click', () => {
ipcRenderer.send('open-new-window', 'pageTwo');
}, false);

login.js 和 ipcRenderer 也是如此。

文档解释比我做的更好,可以找到 here for ipcMainhere for ipcRenderer .

关于javascript - 如何使用新的 html 文件打开更新 Electron 浏览器窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44932154/

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