【发布时间】:2021-08-01 03:04:26
【问题描述】:
我最近开始使用 electron 开发桌面应用程序。
我想在按钮单击事件中从 index.html 向 main.js 发送表单详细信息。我在 index.js 中的按钮上添加了一个监听器。网上搜索,发现我在main.js中必须使用ipcMain,在index.js中使用ipcRenderer,但是数据没有发送到ipcMain。
如何在 main.js 中获取表单数据?
在 index.html 中
<div class="btn-div fld">
<button id="loginButton" class="btn btn-primary st-btn" type="submit" name="button">Login</button>
</div>
<script src="index.js" charset="utf-8"></script>
在 index.js 中
document.querySelector("#loginButton").addEventListener('click', function(){
userDetails = document.getElementById('login');
username = userDetails.username.value;
password = userDetails.password.value;
console.log("Hello");
const {ipcRenderer} = require('electron');
ipcRenderer.send('asynchronous-message', username);
})
在 main.js 中
const { app, BrowserWindow , ipcMain } = require('electron')
ipcMain.on('asynchronous-message', (event, arg) => {
console.log( arg );
});
【问题讨论】:
-
请注意,它是
ipcRenderer(还有一个er)。因此,您可能会在 DevTools 控制台中遇到错误。未来:请发布所有信息,包括此类错误输出。 -
我已经改成了ipcRenderer,但是进程之间还是没有通信。关于错误,我可以在终端上看到 main.js 中生成的错误,但 index.js 抛出的错误没有显示出来。那么是否有一个设置我必须更改才能查看错误,因为当我在浏览器上运行它时,开发人员控制台不会显示任何错误
标签: javascript node.js electron