electron主程序通訊渲染程序

2021-09-29 20:50:31 字數 1211 閱讀 8273

可以先去看看之前的

主程序即electron的main.js。

渲染程序即browserwindow物件新建的。

定義乙個js檔案這裡就叫renderer吧,在全域性定義乙個electron物件用來進行與html進行訂閱事件通訊。

global.electron = require('electron');
在browserwindow中通過node的path外掛程式取到並傳入這個js檔案,這樣在exe中的window上就有electron這個物件了。

new browserwindow(

width: 750,

height: 220,//712

webpreferences: );

主程序收發訂閱事件

接收:引入electron中的ipcmain通過這個api進行接收渲染程序傳送的事件並進行相應的處理

傳送:需要找到我們定義的這個渲染程序這裡我們定義的渲染程序是win所以拿這個名字來進行傳送

const  = require('electron');

function createwindow() /index.html`);

getdevice()

// win.webcontents.opendevtools();//開啟除錯工具

win.on('close', () => );

win.on('maximize', (e) => )

win.on('unmaximize', (e) => )

ipcmain.on('start', (event, args) => );

ipcmain.on('stop', (event, args) => );

ipcmain.on('resize',(e,args) => )

}

html的傳送和接收

直接在window物件上就能取到這個electron物件進行通訊

window.electron.ipcrenderer.send("start",this.radioset)//傳送

window.electron.ipcrenderer.on('isstart', (event, message) => {})//接收

對於底層的東西還是要多去了解一下,這個事件訂閱是個非常好的設計包括node,webview通訊很多地方都用到了事件訂閱。

Electron 主程序和渲染程序互相通訊

說明 自主到從 從main到renderer的訊息傳遞,借助browerwindow.webcontents.send 傳送訊息。自從到主 從renderer到main的訊息傳遞,借助ipcrender和ipcmain傳送 接收訊息。事件機制 無論是browerwindow.webcontents....

electron 3 主程序與渲染程序

渲染程序不能直接引入browserwindow模組 借助remote模組,從remote中拿到主程序允許使用的模組 const require electron remote let btn document.queryselector btn btn.onclick function index....

主程序和渲染程序

chromium每個tab都是乙個程序 主程序 main process 可以使用和系統對接的api,建立選單,上傳檔案等等 建立渲染程序 全面支援node.js 只有乙個,作為整個程式的入口點 渲染程序 main process 可以有多個,每個對應乙個視窗 每個都是單獨的程序 全面支援node....