首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

自己实现一个Electron跨进程消息组件(新书自荐)

我们知道开发Electron应用,难免要涉及到跨进程通信,以前Electron内置了remote模块,极大的简化了跨进程通信的开发工作,但这也带来了很多问题,具体的细节请参与我之前写的文章: https...://www.cnblogs.com/liulun/p/15217180.html Electron团队把remote模块拿掉之后,开发者就只能使用ipcRenderer,ipcMain,webContents..., ipcMain, webContents } = require('electron') 我们假定这个组件的类名为Eventer,我们在这个类的构造函数中,实例化了一个EventEmitter对象,...这里我们通过e.sender.id来判断消息是从哪个渲染进程发来的,当转发这个消息给其他webContents时,要排除掉那个发来消息的webContents。...对象,如果当前进程是主进程,则找到WebContents对象,并调用它的send方法发送消息;如果当前进程是渲染进程,则使用ipcRenderer的sendTo方法发送给目标WebContents对象。

1.2K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Electron快速入门,聊聊跨进程通信那些事儿

    ') // 渲染进程打开开发者工具 remote.getCurrentWindow().webContents.openDevTools() 结论:通过 remote 模块,我们可以方便的访问主进程的模块...主进程TO渲染进程 渲染进程是由主进程控制的,通过创建的渲染进程的窗口win.webContents对象,可以轻易地访问渲染进程相关内容。 这里官网的相关事例说明相对完善,可以自行查看。...每个窗口 webContents.getProcessId() 或者 webContents.id 即可获得对应窗口的id。...伪代码如下: // win1窗口发送消息 ipcRenderer.sendTo(win2.webContents.id, 'send-msg', params1, params2) // win2...// 监听右键菜单触发 win.webContents.on('context-menu', (event, params) => { const selectEnabled = !!

    1.7K20

    Electron webview完全指南

    一.webview标签 Electron提供了webview标签,用来嵌入Web页面: Display external web content in an isolated frame and process...实际上,这个问题与Electron关系不大,与Chromium有关 Chromium在设计上分为六个概念层: ?...as devtools P.S.当然,ElectronwebContents与Chromium的webContents确实有紧密联系,但二者从概念上和实现上都是完全不同的,Chromium的webContents...明显是负责干活的,而ElectronwebContents只是个EventEmitter,一方面把内部状态暴露出去(事件),另一方面提供接口允许从外部影响内部状态和行为(方法) Frame 除了webContents...十.Demo地址 GitHub仓库:ayqy/electron-webview-quick-start 一个简单的单tab浏览器,本文中提到的所有内容在Demo中都有涉及,注释详尽 参考资料 Electron

    7.3K31

    基于ElectronEgg&Python,从零开始打造一款免费的PDF桌面工具

    前端ElectronEgg 前端GUI页面主要使用 Electron + Vue3 实现,前端和后端的通信主要使用 Node 中的 child_process 实现, 前端页面的通信使用 IPC 实现。...主要使用技术有: • nodejs • electron • vue • vue-router • pinia • naiveui • python • pymupdf • nuitkia 打包工具 IPC...默认情况下,渲染器进程没有权限访问 Node.js 和 Electron 模块。 作为应用开发者,您需要使用 contextBridge API 来选择要从预加载脚本中暴露哪些 API。...此 WebContents 实例包含一个 send方法,其使用方式与 ipcRenderer.send 相同。...1、在主线程中通过 mainWindow.webContents.send 发送事件 // 发送主进程的错误信息给渲染进程 mainWindow.webContents.send(IPC_EVENT.EVENT_PROCESS_ERROR

    62110

    一文搞懂Electron的四种视图容器和它们之间的IPC通信机制

    Webcontents,它相当于一个独立的渲染上下文,在Chrome里,每增加一个tab就会创建一个独立的WebContents,它们可以加载各自不同的url,彼此互相独立。...在Electron里,当我们创建一个基础窗口对象,就能够通过它的引用拿到WebContents。...此外,Electron还给每个webcontents对象提供了一个上下文隔离(Isolated Context)的预加载环境,并且在其中执行开发者指定的preload脚本。...在Electron里,iframe没有webContents,而是以宿主页面contents下面的一个frame的形式存在。1....注意,Electron里的tag是基于chrome app的标准开发的,由于后者已经被Chrome抛弃,所以Electron开发者也无法保证后续版本的可用性。

    9.5K75

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券