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

相关推荐
你可如意1 分钟前
从Promise开始,一篇让你彻底建立起JS的异步编程模型
javascript
Tkto16 分钟前
我用 WebGL 从「画个点」一路画到「贪吃蛇」
前端
xiaobaoyu22 分钟前
前端代码常用规范
前端
xiaobaoyu31 分钟前
img,word,excel,pdf文件在线预览
前端
lichenyang45332 分钟前
从 H5 到 HarmonyOS:我做了一个 npm + OHPM 双端发布的 ArkWeb JSBridge 框架
前端
用户842981424181032 分钟前
AI时代,JS混淆加密还有用吗?
前端·javascript
xiaobaoyu36 分钟前
如何理解前端项目中的绝对路径和相对路径
前端
xiaobaoyu40 分钟前
vue3+vite+vant4项目实战总结
前端
咖啡星人k1 小时前
【无标题】
前端·ai·github
颜进强1 小时前
LangChain 从入门到实践:用最小案例理解 RAG 的 5 个核心抽象
前端·后端·ai编程