Electron 主进程和渲染进程传值及窗口间传值

1 渲染进程调用主进程得方法

下面是渲染进程得代码:

复制代码
let { ipcRenderer} = require( 'electron' );
复制代码
ipcRenderer.send( 'xxx' );  //渲染进程中调用

下面是主进程得代码:

复制代码
var { ipcMain } = require( 'electron' );

ipcMain.on("xxx",function () { } )


2 渲染进程与渲染进程之间的传值

使用remote.BrowserWindow在某个渲染进程中打开一个新窗口,并向新窗口中传值

复制代码
xxxrWindow = new remote.BrowserWindow( {
			webPreferences: {
				nodeIntegration: true
			},
			show: true
		} );

xxxrWindow.webContents.on( 'did-finish-load', () => {
			xxxrWindow.webContents.send( "data", JSON.stringify(passInfo) );
			remote.getCurrentWindow().close();//关闭当前窗口
		} );

然后在新窗口中html开始Script标签内加入接收监听代码

复制代码
	//数据监听
		const ipc = require('electron').ipcRenderer;
		ipc.on('data', (e,arg) => {
			console.log("+++++++++++++++uu+++++++++++++++++++++++++");
			console.log(arg)
		});

注意 注意 注意消息发送后,才能关闭当前窗口,否则 打开的新窗口是接收不到消息的

也就是remote.getCurrentWindow().close(); 这行代码要写在上面的回调里面,保证代码发送完毕后,才关掉当前窗口,如果这行代码写在外面,窗口会先于代码发送关掉,这样代码发送就没执行


FR:hunkXu

相关推荐
onebyte8bits3 小时前
前端国际化(i18n)体系设计与工程化落地
前端·国际化·i18n·工程化
C澒3 小时前
前端分层架构实战:DDD 与 Clean Architecture 在大型业务系统中的落地路径与项目实践
前端·架构·系统架构·前端框架
BestSongC3 小时前
行人摔倒检测系统 - 前端文档(1)
前端·人工智能·目标检测
0思必得03 小时前
[Web自动化] Selenium处理滚动条
前端·爬虫·python·selenium·自动化
Misnice3 小时前
Webpack、Vite、Rsbuild区别
前端·webpack·node.js
青茶3603 小时前
php怎么实现订单接口状态轮询(二)
前端·php·接口
大橙子额4 小时前
【解决报错】Cannot assign to read only property ‘exports‘ of object ‘#<Object>‘
前端·javascript·vue.js
WooaiJava5 小时前
AI 智能助手项目面试技术要点总结(前端部分)
javascript·大模型·html5
爱喝白开水a6 小时前
前端AI自动化测试:brower-use调研让大模型帮你做网页交互与测试
前端·人工智能·大模型·prompt·交互·agent·rag
Never_Satisfied6 小时前
在JavaScript / HTML中,关于querySelectorAll方法
开发语言·javascript·html