electron ipcMain未从ipcRenderer接收任何内容

kognpnkq  于 2022-12-16  发布在  Electron
关注(0)|答案(2)|浏览(190)

我正在尝试在ipcRenderer和IPCMain之间进行一个非常简单的通信,但它不起作用!有人能告诉我为什么吗?
GALLERY.JS

const { ipcRenderer } = require("electron");

document.addEventListener('DOMContentLoaded', (e) => {
    ipcRenderer.send('test');
});

我真的不明白为什么我的控制台什么都不打印
GALERYCONTROLLER.JS

const { ipcMain} = require('electron');
const userId;
const Axios = require('axios')


ipcMain.on('test', (e) =>{
    console.log('droneDataGallery received')
   })

});

gallery.ejs

<link rel="stylesheet" href="../assets/css/GalleryPage.css"></link>

<div class='galleryPage'>

</div>

<script src="./../assets/js/gallery.js"></script>

非常感谢你的帮助!

qltillow

qltillow1#

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

mtb9vblg

mtb9vblg2#

document.addEventListener('DOMContentLoaded', (e) => {
    ipcRenderer.send(  'test'  ,data you want to send to GALERYCONTROLLER.JS);
});
ipcMain.on('test', (e, data) =>{
// data is array

    console.log(data)
   })

});

相关问题