Я посмотрел на ваш код, и мне кажется, проблема в здесь , когда вы отправляете канал targetOS
через mainWindow
s webContents
.
mainWindow
- это объект BrowserWindow
для файла src/index.html
; но вы хотите получить его для объекта BrowserWindow
за src/cves.html
.
Один из способов добиться того, чего вы пытаетесь достичь, - это обновить код для создания объекта BrowserWindow
(скажем, cvesWindow
) для src/cves.html
на main.js
(когда канал update-target-os
вместо создания в методе cell_cves.addEventListener
в index.js
.
А в main.js
в разделе update-target-os
установите полученное значение для переменной main.js
, скажем, osGuess
.
Тогда в вашем файле cves.js
может быть что-то вроде:
ipcRenderer.send('cves-loaded', true);
Вы можете выполнить его после загрузки содержимого DOM. Это уведомит основной процесс о том, что ваш CVES BrowserWindow
загружен. Затем main.js
может отправить значение для события, например:
ipcMain.on('cves-loaded', (event, arg) => {
cvesWindow.webContents.send('targetOS', osGuess);
})
Так, что он получен пещерами BrowserWindow
.
Мне удалось получить значение, отображаемое на элементе osname
в cves.html
с приведенными выше обновлениями логики.
Возможно, есть и другие способы сделать это, но я бы рекомендовал использовать одностраничное приложение , если все, что вам нужно, это открыть диалоговое окно со списком дополнительной информации.