Перезагрузите новый HTML-документ в том же окне в Electron

#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, спасибо, это решило мою проблему