在Electron 1.X版中,如何从一个BrowserWindow发出事件并在另一个BrowserWindow中使用它?
我正在使用电子版本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
});
有关更多信息,请查阅ipcRenderer部分上的文档。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句