在Electron 1.X版中,如何从一个BrowserWindow发出事件并在另一个BrowserWindow中使用它?
我正在使用 Electron 版本1.2.1。
最佳答案
一种实现方法是使用ipcRenderer
在BrowserWindow
实例和main
进程之间进行通信。例如,在主过程中,您可能会看到以下内容:-
const electron = require('electron');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;
let mainWindow, subWindow;
mainWindow = new BrowserWindow({
width: 800,
height: 600,
fullscreen: true
});
mainWindow.loadURL('file://' + __dirname + '/../index.html');
subWindow = new BrowserWindow(); // etc
electron.ipcMain
.on('myMainMessage', function (event, data) {
// data can be passed from browser window
subWindow.webContents.send('myPassedMessage', data);
});
然后,在第一个
mainWindow
实例中,您可以使用ipcRenderer
将消息汇总在一起,如下所示:-var electron = require('electron');
var ipc = electron.ipcRenderer;
ipc.send('myMainMessage', {
property: 'someValue'
});
在另一个窗口实例中,您将需要一些JavaScript来监听另一个触发器。像这样的东西:
var electron = require('electron');
var ipc = electron.ipcRenderer;
ipc.on('myPassedMessage', function (event, data) {
console.log(data); // will be from the mainWindow instance
});
有关更多信息,请咨询the docs on the ipcRenderer section。
关于javascript - 在Electron 1.X版中,如何从一个BrowserWindow发出事件并在另一个BrowserWindow中使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37592192/