javascript - ipcMain 没有从 ipcRenderer 接收任何信息
问题描述
我正在尝试在 ipcRenderer 和 IPCMain 之间进行非常简单的通信,但它不起作用!有人能告诉我为什么吗?
画廊.JS
const { ipcRenderer } = require("electron");
document.addEventListener('DOMContentLoaded', (e) => {
ipcRenderer.send('test');
});
我真的不明白为什么我的控制台上什么也没打印
画廊控制器.JS
const { ipcMain} = require('electron');
const userId;
const Axios = require('axios')
ipcMain.on('test', (e) =>{
console.log('droneDataGallery received')
})
});
画廊.ejs
<link rel="stylesheet" href="../assets/css/GalleryPage.css"></link>
<div class='galleryPage'>
</div>
<script src="./../assets/js/gallery.js"></script>
非常感谢你的帮助 !
解决方案
假设您使用最新版本的 Electron,您需要通过 preload.js 级别的 contextBrige 对象将 ipc 消息传递系统公开给您的 HTML (gallery.js) 代码。这在这里得到了很好的解释,对我来说效果很好。当然,这意味着一些额外的管道。
推荐阅读
- android - FAILURE:构建失败,在模拟器 nexus5 api27 上运行异常
- linux - 遍历函数名数组并在 bash 脚本中执行所有这些函数名
- c# - 如何启动 jsonResult 异步任务?
- node.js - AdminBro 与 postgres 和 sequelize
- javascript - 尽管有键,为什么我的所有子组件都重新渲染?
- python - 使用python从doc文件中获取大写/小写的特定单词?
- azure-logic-apps - 逻辑应用视频索引器连接器
- logging - 如何在 UP 板上记录功耗?
- c# - 有没有办法从循环内部获取值
- axios - nuxt如何在nuxt构建后手动更改axios baseUrl