javascript - 从电子中的 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>
解决方案
document
仅在渲染器进程中可用。所以你必须在那里调用你的查询。在您的情况下,最直接的做法是executeJavaScript
on BrowserWindow
'swebContents
mainWindow.webContents.on('dom-ready', () => {
mainWindow.webContents.executeJavaScript(`
const form = document.querySelector('form');
// manipulate form...
`)
})
推荐阅读
- amazon-web-services - 如何在 Route53 中为单个域的每个环境(阶段、产品)创建不同的 DNS 记录?
- node.js - 一些网站如何避免响应从 node.js 内部发出的 https 请求?
- android - ng-selected 属性不适用于 ion-select
- unity3d - 制作一个编辑脚本对象的工具
- python - 计算月份天数的python程序
- javascript - JQUERY post method always return to first table
- html - 有没有办法在css中选择前一个相邻元素?
- ffmpeg - ffmpeg - 屏幕录制中的音频比视频晚 500 毫秒
- python - 查找下一个有效表
- c++ - 从向量中删除特定项目(c++)