首页 > 解决方案 > 从电子中的 html 中检索一个类

问题描述

我有一个基本的电子应用程序,我试图从 html 的文档表单中检索数据。我基本上想要像普通的 html 文档一样检索数据,const form = document.querySelector('form');但是当我启动程序时,它总是显示一个错误,即文档未定义

const electron = require('electron');
const url = require('url');
const path = require('path');

let mainWindow;

app.on('ready', () => {

mainWindow = new BrowserWindow({});

mainWindow.loadURL(url.format({
    pathname: path.join(__dirname, 'MainWindow.html'),
    protocol: 'file:',
    slashes: true
}));

const form = document.querySelector('form');
});

<body>
    <main>
        <form class="submit-form">
            <input type="text" placeholder="Search Text..">
            <button>Search</button>
        </form>
    </main>
</body>

标签: javascripthtmlcsselectron

解决方案


document仅在渲染器进程中可用。所以你必须在那里调用你的查询。在您的情况下,最直接的做法是executeJavaScripton BrowserWindow'swebContents

mainWindow.webContents.on('dom-ready', () => {
  mainWindow.webContents.executeJavaScript(`
    const form = document.querySelector('form');
    // manipulate form...
  `)
})

推荐阅读