簡體   English   中英

Electron:在與 index.js 不同的 javascript 中調用函數

[英]Electron: Call a function in a different javascript from index.js

當窗口處於焦點時,我想在second_script.js調用一個函數,這是從我的main.js (index.js) 文件中檢測到的。 second_script.js也用於不同的 HTML 文件中。

主文件

  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 每當我的窗口處於焦點時都會調用該函數?

Electron 基於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');
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM