首页 > 其他分享 >Electron 的contextBridge

Electron 的contextBridge

时间:2024-08-14 22:28:08浏览次数:13  
标签:API 脚本 渲染器 js Electron contextBridge 进程

contextBridge 是 Electron 框架中用于在渲染器进程(通常是 Web 页面)和主进程之间安全地暴露 API 的一种方式。它允许开发者在保持主进程和渲染器进程之间清晰分离的同时,从主进程向渲染器进程安全地传递方法和属性。这是通过创建一个单向的、只能从主进程到渲染器进程的桥接来实现的,从而避免了渲染器进程直接访问 Node.js 的 API,这有助于防止潜在的安全问题。

如何使用 contextBridge

  1. 在主进程中设置 contextBridge:

    在主进程的脚本中(例如 main.jsindex.js),你会使用 ipcMain 模块来监听来自渲染器进程的消息,并处理这些消息。然而,直接暴露 Node.js 的 API 到渲染器进程是不安全的。相反,你可以使用 contextBridge 来安全地暴露一个 API。但是,需要注意的是,contextBridge 实际上是在渲染器进程的 preload 脚本中设置的。

  2. preload 脚本中设置 contextBridge:

    preload 脚本是 Electron 中的一个特殊脚本,它在渲染器进程加载之前运行,并且允许你控制哪些 Node.js 的功能应该被渲染器进程访问。在这个脚本中,你可以使用 contextBridge.exposeInMainWorld 方法来暴露一个对象到渲染器进程

标签:API,脚本,渲染器,js,Electron,contextBridge,进程
From: https://blog.csdn.net/xuelian3015/article/details/141201786

相关文章

  • electron 镜像
    解压node-v20.15.1-linux-x64.tar.gz到/home/cnki/vm;;环境变量~/.bashrcexportNODE_HOME=/home/cnki/vm/node-v20.15.1-linux-x64exportPATH=$NODE_HOME/bin:$PATH;;npmnpmconfigsetregistryhttp://mirrors.cloud.tencent.com/npm/electron(x64,arm)修改.......
  • Electron项目
    ​ 这个项目的一个亮点就是他把我们常用的一些需求我都进行了一些落地实现,因为国内资源还是挺少的,大家自学electron的话可能只能去看文档,看文档又get不到一些重点。就比如说像electron打包就没有实际的教程,我是综合了官方文档和stackoverflow里面的一些回答给了一个可行的方案。......
  • Electron项目
    ​ 这个项目的一个亮点就是他把我们常用的一些需求我都进行了一些落地实现,因为国内资源还是挺少的,大家自学electron的话可能只能去看文档,看文档又get不到一些重点。就比如说像electron打包就没有实际的教程,我是综合了官方文档和stackoverflow里面的一些回答给了一个可行的方案。......
  • electron-store 中文文档
    electron-store简介为您的Electron应用或模块提供简单的数据持久化功能——保存和加载用户设置、应用状态、缓存等。Electron本身没有内置的方式来持久化用户设置和其他数据。此模块为您处理这些问题,以便您可以专注于构建应用。数据被保存在一个名为config.json的JSON文件中,......
  • # Cocos通过Electron打包web应用后,在触屏一体机设备触摸滑动无效问题解决
    Cocos通过Electron打包web应用后,在触屏一体机设备触摸滑动无效问题解决已经很晚了,刚刚解决这个问题,还是想记录一下,因为刚刚接触cocos没多久,这个问题困扰了我很久。背景接手了一个答题小游戏,由于涉及敏感信息就不在这里截图了,交接到我手里的是用cocos开发的,之前从来没有接触......
  • Electron + Vue+Node.js 搭建前端桌面应用
    一、在使用Electron之前我们要了解Electron是什么?Electron官网地址点此: electron官方地址Electron相当于一个浏览器的外壳,我们将编写的HTML,CSS,Javascript网页程序嵌入进Electron里面以便于在桌面上进行运行。通俗来讲它就是一个软件,如QQ、网易......
  • React与Electron与ts一些组件配置与交互遇到的问题
    React同vue一样都是组件化的,React更加的复杂多变,当我们需要改变页面中的内容时不仅仅要在直接关联的布局页面进行修改,步骤大致如下:在当前直接布局页面中增加布局组件函数,比如:renderRightView(){//TODORV++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++re......
  • 视频笔记软件JumpVideo技术解析一:Electron案例-调用VLC播放器
              大家好,我是TheGodOfKing,是最强考研学习神器,免费视频笔记应用JumpVideo,可以快速添加截图时间戳,支持所有笔记软件,学习效率MAX!的开发者之一,分享技术的目的是想找到更多志同道合的人,如果有大学生加入,我们还允许他把项目作为毕设(只有一个名额哟)群(689978959),那么今......
  • 探索 Electron:如何进行网址收藏并无缝收录网页图片内容?
    Electron是一个开源的桌面应用程序开发框架,它允许开发者使用Web技术(如HTML、CSS和JavaScript)构建跨平台的桌面应用程序,它的出现极大地简化了桌面应用程序的开发流程,让更多的开发者能够利用已有的Web开发技能来构建功能强大且跨平台的应用程序,这对于提升开发效率和应用程......
  • 招投标系统VUE网页编辑Word且兼容微软Office和金山WPS支持Electron
    随着信息技术的不断发展,电子政务已经非常普及,电子招投标行业市场规模不断扩大,电子招投标不仅可以减少繁琐的人工操作,提高工作效率,还能保证公开透明的招标流程,制作招标文件过程中,由于微软Office和金山WPS等办公软件无法直接内嵌到浏览器中,有的招标制作工具用的Electron,需要在纯内网......