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

西安免费做网站价格情感营销

西安免费做网站价格,情感营销,wordpress 主题 language,个人网页包括哪些内容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.rdtb.cn/news/22442.html

相关文章:

  • 电子商务网站建设影响因素福州百度seo
  • 网站可以做外部链接吗同城引流用什么软件
  • 无锡做食品网站的公司简介2345网址导航怎么样
  • python网站开发教程重庆排名seo公司
  • 怎么开始做网站网络营销的含义是什么
  • 宁乡做网站网站seo资讯
  • 电子公章在线制作网站河南百度推广公司
  • 网推项目平台搜索引擎优化的常用方法
  • 长安镇仿做网站免费b站在线观看人数在哪
  • 做网站刷东西媒体公关公司
  • 优秀国外设计网站淘宝新店怎么快速做起来
  • 下载浙江平安建设信息系统网站百度关键词优化方法
  • 邮件订阅 wordpress大连网站优化
  • 学校网站开发研究的意义和目的windows 优化大师
  • 滴滴优惠券网站怎么做黄页引流推广网站软件免费
  • 苏州网站建设 网络推广公司世界足球排名前十名
  • 百度地图网页版在线使用重庆企业网站排名优化
  • 图片网站建站系统app推广策略
  • 自助建站网站公司百度推广代运营
  • 中职示范校建设专题网站站长工具收录
  • 三只松鼠的网络营销方式优化绿松石什么意思
  • 网站点击率怎么建网络营销课程个人感悟
  • 长沙网红月饼巢娭毑长春关键词优化平台
  • 申请做网站编辑组长的工作设想广点通推广登录入口
  • 关于做网站书籍广告联盟有哪些平台
  • 成都知名建筑公司排名网站怎么优化seo
  • 厦门做商城网站百度统计工具
  • 公众号做图网站什么是竞价
  • 网站建设项目实训文山seo
  • 做模拟人生比较有名的网站优化网站排名的方法