当前位置: 首页 > news >正文

黄村做网站哪家好在线设计平台属于什么行业

黄村做网站哪家好,在线设计平台属于什么行业,手机程序编程,做p2p理财网站Electron中IPC 进程间通信 (IPC) 是在 Electron 中构建功能丰富的桌面应用程序的关键部分之一。在 Electron 中,进程使用 ipcMain 和 ipcRenderer 模块,通过开发人员定义的“通道”传递消息来进行通信。 本文介绍以下几个方面: 1-渲染进程到…

Electron中IPC

进程间通信 (IPC) 是在 Electron 中构建功能丰富的桌面应用程序的关键部分之一。在 Electron 中,进程使用 ipcMain 和 ipcRenderer 模块,通过开发人员定义的“通道”传递消息来进行通信。

本文介绍以下几个方面:

  • 1-渲染进程到主进程(单项)

ipcRender.send()
  • 2-主进程到渲染进程(单项)

WebContents.send()
  • 3-渲染进程到到主进程(双向)

ipcRender.invoke(渲染进程)
ipcMain.handle(主进程)

1.渲染进程到主进程

  • 渲染进程通过ipcRender.send()API发送消息

  • 主进程通过ipcMain.on()API接受信息

2.主进程到渲染进程

  • 主进程通过WebContents.send()发送数据

  • 渲染进程通过ipcRender.on()获取数据

3.渲染进程到主进程(双向)

  • 渲染进程通过invoke调用API

  • 主进程通过handle处理API

示例

功能:

  • 渲染进程发送111到主进程

  • 主进程发送222到渲染进程

  • 渲染进程invoke主进程

// main.js
const { app, BrowserWindow,ipcMain } = require("electron")
const path = require("path")
var id = "";
const createWindow = () => {const win = new BrowserWindow({width: 800,height: 600,show: false,webPreferences:{preload:path.join(__dirname,"./preload.js")}})win.loadFile("./index.html")win.show()id = win.id
}
​
app.whenReady().then(() => {createWindow()
})
​
ipcMain.on("messageToMain",(event,text)=>{// ipcMain.on 来接收渲染进程发送的数据console.log("主进程从渲染进程接收到的数据:"+text);// 获取当前窗口// BrowserWindow.webContents.send 发送数据BrowserWindow.fromId(id).webContents.send("messageFromMain","222")
})
​
// ipcMain.handle 返回invoke调用
ipcMain.handle("getData",()=>{return "333"
})
​
​
app.on("window-all-closed", () => {app.quit()
})
// preload.js
const { contextBridge, ipcRenderer } = require("electron")
contextBridge.exposeInMainWorld("electronIpc", {// 预加载脚本暴露 ipcRenderer.sendsend: (text) => { ipcRenderer.send('messageToMain', text) },// 预加载脚本暴露 ipcRenderer.ononGet: (callback) => {ipcRenderer.on("messageFromMain", (event, text) => {callback(text)})},// 预加载脚本暴露 ipcRenderer.invokegetData: () => { return ipcRenderer.invoke("getData") }
})
<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Electron的ipc通讯</title>
</head>
<body><h2>渲染进程到主进程(单向)</h2><div><button id="btnToMain">渲染进程发送到主进程</button></div><div><input type="text" id="sendText"></div><br><br><div>收到主进程发送到渲染进程的消息:</div><div><input type="text" id="messageFromMain" style="width: 300px;"></div><br><div><button id="btnInvoke">渲染进程invoke主进程</button></div><div><input type="text" id="messageInvokeMain" style="width: 300px;"></div><script src="./index.js"></script>
</body>
</html>
// index.js
window.onload = () => {var btnToMain = document.getElementById("btnToMain");btnToMain.addEventListener("click", () => {var sendText = document.getElementById("sendText").value;window.electronIpc.send(sendText)})
​window.electronIpc.onGet((text) => {var messageFromMain = document.getElementById("messageFromMain");messageFromMain.value = text;})
​var btnInvoke = document.getElementById("btnInvoke");btnInvoke.addEventListener("click",async ()=>{var getData = await window.electronIpc.getData();var messageInvokeMain = document.getElementById("messageInvokeMain");messageInvokeMain.value = getData;})
}

效果

http://www.yayakq.cn/news/401408/

相关文章:

  • 网站建设运营合同书东省住房和城乡建设厅网站
  • 国美的网站做的怎么样合肥网站建设百姓网
  • 网站搜索引擎优化方案论文各类网站网站建设的目标是什么意思
  • 长沙建站公司模板列举网站开发常用的工具
  • 做彩票网站多少钱网站首页设计报告
  • 做网站赚钱难公司名称 网站域名 关联
  • seo 网站制作企业邮箱登录入口免费
  • 网站建设空间多大网站改版要重新备案
  • seo在线网站诊断推推蛙好用的h5网站模板下载
  • 网站制作与建设书籍管理咨询公司排名 国内
  • 云南建设人才网站首页视频分享网站开发
  • 南海网站制作金山网站建设关键词排名
  • 网站开发任务完成情况郑州的电子商城网站建设
  • 怎么做网站 有空间网站备案增加域名
  • 宝安公司可以网站设计开发一个商城网站需要多少钱
  • 网代理加盟官网推广方案seo
  • 最好的域名注册网站网站建设教程讲解
  • 大连开发区网站设计公司网站关键词用热门的还是冷门
  • 森普网站建设一般做网站费用
  • 建站制作企业网站seo课程
  • 深圳网站建设公司设计公司展厅设计图片
  • 群晖如何做网站服务器免费logo制作软件
  • 坊网站建设wordpress 条件查询数据库
  • 温州云海和联欣哪个做网站比较好网上银行官网
  • 什么网站是php做的蚌埠发布刚刚
  • 定州哪里可以做网站在哪里可以学习做网站
  • 12306网站服务时间站长网站优点
  • 有什么网站是做名片印刷的公司的网站 优帮云
  • 织梦网站上传到服务器法律咨询微信网站建设
  • 接平面设计私活的网站金融直播间网站建设