#javascript #html #electron
#javascript #HTML #electron
Вопрос:
Я пытаюсь создать небольшое приложение groupchat с помощью Electron, где у меня есть окно браузера, в котором отображается index.html
файл, и после некоторых запросов IPC я хочу загрузить новый HTML-документ ( loggedIn.html
) в том же окне браузера, вот что я пробовал:
В моем index.js
файле у меня есть прослушиватель ipcMain, который перезагружает новый HTML-документ в user:login
сообщении:
ipcMain.on("user:login", (e, user) => {
subWin.loadURL(url.format({
pathname: path.join(__dirname, 'loggedIn.html'),
protocol: 'file:',
slashes: true
}))
//subWin.webContents.send("user-loggedin", user);
});
subWin — это главное окно, в котором отображается index.html
документ,
оно прослушивается нормально, но оно не открывает новый HTML-документ, но загружает тот же HTML-документ
, и вот мой loggedIn.html
:
<!DOCTYPE html>
<html>
<head>
<title>GroupChat</title>
<script>
const $ = require('jquery');
const elect = require('electron');
const {ipcRenderer} = elect;
ipcRenderer.send("user-loggedin", "user");
$("p").text("user")
</script>
</head>
<body style="background-color: oldlace;">
<div>
<p>this is new user</p>
</div>
</body>
</html>
Комментарии:
1. «Это не так» — это не очень подробное описание проблемы — есть ли какие-либо ошибки, выводимые в консоли или в DevTools
BrowserWindow
etc.?2. вы включили значение
nodeIntegration
true при создании sub win?3. В противном случае событие IPC не будет запущено
4. @tpikachu, спасибо, это решило мою проблему