Электрон: вызов функции в другом javascript из index.js - PullRequest
0 голосов
/ 08 января 2019

Я хочу вызвать функцию в second_script.js, когда окно находится в фокусе, что обнаружено из моего файла main.js (index.js). second_script.js также используется в другом HTML-файле.

main.js

  win = new BrowserWindow({
    width: 1000,
    height: 600,
    resizable: false,
    frame: true
  })

  win.on('focus', function () {
    call_that_function();
  });

second_script.js

Он находится в scripts/second_script.js и используется в другом HTML-файле.

function call_that_function() {
    //code
}

Как мне преодолеть этот пробел, чтобы main.js вызывал эту функцию всякий раз, когда мое окно находится в фокусе?

1 Ответ

0 голосов
/ 08 января 2019

Электрон основан на node.js.

Экспортируйте эту функцию в second_script.js, затем импортируйте / запрашивайте ее и вызывайте внутри своей main.js.

Еще один способ общения внутри Electron - это ipcMain :

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

Следите за сообщениями, как показано ниже в вашем second_script.js:

ipcMain.on('CHANNEL_NAME', (event, arg) => {
  console.log('message received', event, args);
  // call your func here
);

Отправляйте сообщения, как показано ниже, внутри вашего main.js:

win.on('focus', function () {
  ipcRenderer.send('CHANNEL_NAME', 'ping');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...