У вас нет доступа к document
в основном процессе (где, я полагаю, у вас есть этот код). Вы должны общаться между вашими процессами, используя IPC, выполнение кода на HTML или даже глобальные переменные. (Вы можете найти много статей об этом в Интернете)
Подробнее см. electron's architecture
.
Примером для решения этого сценария может быть
main.js
const { app, BrowserWindow, Menu, dialog } = require('electron')
const fs = require('fs')
const path = require('path')
app.once('ready', () => {
let win = new BrowserWindow()
win.loadURL(path.join(__dirname, 'index.html'))
win.setMenu(Menu.buildFromTemplate([
{
label: 'Open File',
click (menuItem, browserWindow, event) {
dialog.showOpenDialog({
properties: ['openFile']
}, (filePath) => {
fs.readFile(filePath[0], (err, data) => {
if (!err) {
browserWindow.webContents.send('print-file', data.toString())
}
})
})
}
}
]))
})
index.html
<html>
<body>
<script>
const { ipcRenderer } = require('electron')
ipcRenderer.on('print-file', (event, datastr) => {
document.getElementsByTagName("p")[0].textContent = datastr
})
</script>
<p></p>
</body>
</html>