Что плохого в этом коде IPC? Это не испускает событие - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь выполнить простой тест 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')
});

Ответы [ 2 ]

0 голосов
/ 21 октября 2019

Я не знал, что мне нужно было добавить webPreferences: nodeIntegration в мое BrowserWindow. Теперь все работает.

window = new BrowserWindow({
    webPreferences: {
        nodeIntegration: true
    }
0 голосов
/ 21 октября 2019

Пожалуйста, проверьте консоль в DevTools окна процесса рендерера;вы должны увидеть сообщение об ошибке, сообщающее, что ipcTest.on не является функцией.

Чтобы добавить прослушиватель события щелчка к элементу DOM, вы можете использовать:

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

или (рекомендуется):

ipcTest.addEventListener ('click', function() { ipcRenderer.send('ipc-test') });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...