我正在写一个Eletron节目.在程序中有一个索引窗口,由主进程(main.js)创建.在此窗口中有一个文件列表(图像).当我单击该列表中的一个文件时,我想启动第二个显示该文件的窗口.第二个窗口由索引窗口(index.js)的渲染器进程启动.如何在索引窗口的渲染器进程和第二个窗口的渲染器进程之间进行通信?
码:
从main.js中的主进程创建索引窗口:
let win;
function createWindow(){
// Create the browser window.
win = new BrowserWindow({width: 1024, height: 768, minWidth: 800, minHeight: 600, show: false, icon: 'files/images/icon.png'});
win.loadURL(`file://${__dirname}/files/html/index.html`);
win.once('ready-to-show', () => {
win.show()
})
// Emitted when the window is closed.
win.on('closed', () => {
win = null;
});
}
app.on('ready', createWindow);
Run Code Online (Sandbox Code Playgroud)
在index.html中,index.js(渲染器进程)启动:
<script src="../javascript/index.js"></script>
Run Code Online (Sandbox Code Playgroud)
在index.js function create_sprite_window()中调用它来创建子窗口:
const fs = require('fs');
const path = require('path');
const {BrowserWindow} = require('electron').remote
let child_windows = [];
function create_child_window(URL, width, height){
let …Run Code Online (Sandbox Code Playgroud) 我正在使用 Electron 开发桌面应用程序,场景是我有 2 个 BrowserWindow,从 FirstBrwoserWindow,单击按钮后我将转到 SecondBrowserWindow。我已经在 FirstBrwoserWindow 的按钮单击上实例化了 SecondBrowserWindow 以避免对象已被破坏异常。
根据 Electron,如果我们想在进程之间发送数据,我们必须使用 IPC。所以实际的问题从这里开始,我在 FirstBrwoserWindow 的渲染器文件中创建 SecondBrowserWindow 对象,对于 IPC,我需要在主进程中获取 SecondBrowserWindow 对象。
我如何在 main.js 中获取 SecondBrowserWindow 对象并在那里使用 IPC.???