electron 主进程对预加载脚本和渲染进程通信

news2024/12/26 21:32:22

知识整理

  • 主进程main.js node环境可以使用node的方法
  • 预加载脚本可以使用部分node方法,可以理解为是主进程和渲染进程之间的一个桥梁
  • 渲染进程属于浏览器环境,不可以使用node方法,可以操作dom等js方法

主进程对渲染进程通信

  • 上一篇文章实现了自定义菜单栏功能,上上篇实现了预加载脚本和渲染进程对主进程通信
  • 在之前自定义菜单的代码上进行修改
  • 执行createMenu 将createWindow传入
    在这里插入图片描述
    men.js 中click 使用send 方法发送事件,并传递参数1
    在这里插入图片描述
  • 预加载 js中使用ipc监听 ceshi 这个事件
ipcRenderer.on('ceshi', (event, value) => {
    console.log('value', value)
})
  • 结果
    在这里插入图片描述
  • 此时主进程已经成功向预加载js通信

将值发送给渲染进程并实现页面+1

  • 通过全局变量的方法
  • callback回调拿取参数并dom操作
  • 还是在预加载js中 代码如下
const { ipcRenderer, contextBridge } = require("electron");
contextBridge.exposeInMainWorld('api', {
        fn: (callback) => {
            // ipcRenderer.send('ceshi')
            ipcRenderer.on('ceshi', (event, value) => {
                // console.log('value', value)
                callback(value)
            })
        }
    })
  • 渲染进程中代码如下
  1. 每次点击使其+1
window.api.fn((value) => {
    console.log(value)
    const boxEl = document.querySelector('#box')
    boxEl.innerHTML = boxEl.textContent + value
})
  • 结果
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1350506.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

程序员30而立的北京之路

作为一名程序员,职业规划和心灵成长是我工作和生活中不可或缺的部分。30岁是一个人生中的重要节点,也是所谓的“而立之年”,在这个阶段,我开始更加关注自己的职业发展和内心成长。在这篇文章中,我将分享我在北京这座城…

YOLOv8改进 | 细节创新篇 | iAFF迭代注意力特征融合助力多目标细节涨点

一、本文介绍 本文给大家带来的改进机制是iAFF(迭代注意力特征融合),其主要思想是通过改善特征融合过程来提高检测精度。传统的特征融合方法如加法或串联简单,未考虑到特定对象的融合适用性。iAFF通过引入多尺度通道注意力模块(我…

花几分钟整点jmeter花活,轻松超越90%软件测试

jmeter 可以做性能测试,这个很多人都知道,那你知道,jmeter 可以在启动运行时,指定线程数和运行时间,自定义性能场景吗? 前言 jmeter 性能测试,动态设定性能场景 平时,我们使用 jmet…

使用.Net nanoFramework 驱动ESP32的OLED显示屏

本文介绍如何使用.Net nanoFramework 驱动ESP32的OLED显示屏。我们将会从最基础的部分开始,逐步深入,让你能够理解并实现整个过程。无论你是初学者还是有一定经验的开发者,这篇文章都会对你有所帮助。 1. 硬件准备 1.1 ESP32开发板 这里我们…

安装中望CAD2023 SP2

1.下载中望CAD2023 SP2,并安装; 2.把“flxNetCommon.dll”拷贝到安装目录(与“ZWCAD.exe”同一个目录); 3.运行“ZwLicenseManager.exe” 4.点击“激活许可证”; 5.点击“浮动许可” ->“仅配置不查询…

Hotspot源码解析-第十一章

第十一章 11.1 线程 11.1.1 线程的概念 说起线程,首先得提起进程,相信很面试者在回答进程与线程的区别时都会用一句话:“进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位”,只能说这句话部分正…

十大排序总结之——冒泡排序、插入排序

同样,这两几乎也是被淘汰了的算法,尽管它们是稳定的,但是时间复杂度没人喜欢,了解一下就好,没啥好说的,注意最后一句话就行了 一,冒泡排序 1. 算法步骤 共n-1趟,谁两敢冒泡就换了…

SpringBoot多环境配置,让你部署无忧

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 循序渐进学SpringBoot ✨特色专栏: MySQL学习 🥭本文内容:SpringBoot多环境配置,让你部署无忧 📚个人知识库: Leo知识库,欢迎大家访…

vite项目中动态引入src失败的问题解决:require is not defined

问题复现 静态引入路径(无问题) <el-menu-item v-for"(item,index) in menuList" :index"item.name" :key"index"><img class"menuItemImg" src"../svg/router/homePage.svg" alt"">{{ item.meta.c…

vue中使用echarts实现省市地图绘制,根据数据显示省市天气图标及温度信息

一、实现效果 使用echarts实现省市地图绘制根据数据显示省下市的天气图标根据数据显示省下市的温度信息 二、实现方法 1、安装echarts插件 npm install echarts --save2、获取省市json数据 https://datav.aliyun.com/portal/school/atlas/area_selector 通过 阿里旗下的高…

hubSpot有哪些功能?

HubSpot是一款综合性的市场营销、销售和服务软件平台&#xff0c;旨在帮助企业实现更有效的客户关系管理和增长。以下是HubSpot的一些主要功能&#xff1a; 市场营销自动化&#xff1a; 制定和执行多渠道的市场营销活动。 创建和管理电子邮件营销、社交媒体发布和广告活动。 …

WMS仓储管理系统可以处理哪些仓库异常情况

随着现代物流行业的快速发展&#xff0c;仓库管理作为其中的核心环节&#xff0c;面临着越来越大的挑战。传统的仓库管理方式已经难以满足日益复杂的需求&#xff0c;因此&#xff0c;WMS仓储管理系统解决方案应运而生。WMS仓储管理系统不仅简化了仓库的日常操作&#xff0c;更…

Redis:原理+项目实战——Redis实战1(session实现短信登录(并剖析问题))

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;Redis&#xff1a;原理速成项目实战——Redis的Java客户端 &#x1f4da;订阅专栏&#xff1a;Redis速成 希望文章对你们有所帮助…

拓扑排序【邻接矩阵邻接表】

拓扑排序 TuoPuSort 一、概念 我们再说拓扑排序时,我们首先了解下​DAG​ 将有向无环图G(V,E)中的所有顶点排成一个线性序列,使图中任意一对顶点u,v,之间不存在环路 DAG是一种特殊的有向图&#xff0c;它由一组顶点和一组有向边组成&#xff0c;且不存在任何环路。 每个顶点表…

华脉智联融合通讯基础引擎平台V2.0发布

华脉智联始于2012年&#xff0c;成立于2017年。历经11年在融合通讯、指挥调度领域的持续研发&#xff0c;于2024年发布华脉智联融合通讯基础引擎平台V2.0。 系统组成 1 核心平台 2 WEB调度台 3 PC调度台 4 云集群APP 5 云执法APP 系统特点 1 多网融合 可以支持多种网络接入和融…

【电商项目实战】购物车完善

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《电商项目实战》。&#x1f3af;&#x1f3af; &am…

windows11此应用无法在你的电脑上运行怎么解决

在使用电脑运行软件的时候&#xff0c;系统弹出了“此应用无法在你的电脑上运行”提示&#xff0c;导致没办法正常使用该软件&#xff0c;不知道怎么回事&#xff0c;针对这一问题&#xff0c; 方法一&#xff1a; 1、如果是win11里的软件&#xff0c;可以右键该软件&#xff0…

电子电器架构(E/E)演化 —— 车载以太网

电子电器架构&#xff08;E/E&#xff09;演化 —— 车载以太网 我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 本文13000字。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 屏蔽力是信息过载时代一…

2024年01月IDE流行度最新排名

点击查看最新IDE流行度最新排名&#xff08;每月更新&#xff09; 2024年01月IDE流行度最新排名 顶级IDE排名是通过分析在谷歌上搜索IDE下载页面的频率而创建的 一个IDE被搜索的次数越多&#xff0c;这个IDE就被认为越受欢迎。原始数据来自谷歌Trends 如果您相信集体智慧&am…

Linux——进程初识(二)

1. 对当前目录创建文件的理解 我们知道在创建一个文件时&#xff0c;它会被默认创建到当前目录下&#xff0c;那么它是如何知道当前目录的呢&#xff1f; 对于下面这样一段代码 #include <stdio.h> #include <unistd.h>int main() {fopen("tmp.txt", …