首页 > 解决方案 > 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>

非常感谢你的帮助 !

标签: javascriptelectron

解决方案


假设您使用最新版本的 Electron,您需要通过 preload.js 级别的 contextBrige 对象将 ipc 消息传递系统公开给您的 HTML (gallery.js) 代码。这在这里得到了很好的解释,对我来说效果很好。当然,这意味着一些额外的管道。


推荐阅读