首页 > 解决方案 > 这个IPC代码有什么问题?它不发出事件

问题描述

我正在尝试一个简单的 IPC 发送测试但没有成功。

在我的 index.html 中,我有:

<body>
  <script>
      require('./index.js');
  </script>
  <a  type="button" id="testButton" href="#" >IPC Test</a>
</body>

在我的 index.js 中,我有

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

const ipcTest = document.getElementById('testButton');

ipcTest.on('click', function() {
    ipcRenderer.send('ipc-test')
});

在我的 main.js 中

const { ipcMain } = require('electron');

ipcMain.on('ipc-test', (event) => {
    console.log('ipcTest successful')
});

标签: javascriptelectron

解决方案


请在渲染器进程窗口的 DevTools 中查看控制台;您应该会看到一条错误消息,告诉您这ipcTest.on不是函数。

为了向 DOM 元素添加点击事件侦听器,您可以使用以下任一方法:

ipcTest.onclick = function() { ipcRenderer.send('ipc-test') };

或(推荐):

ipcTest.addEventListener ('click', function() { ipcRenderer.send('ipc-test') });

推荐阅读