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

西宁建站济南道驰网站建设有限公司怎么样

西宁建站,济南道驰网站建设有限公司怎么样,wordpress 主题切换,说明怎样做才能通过互联网访问你制作的网站Electron进程间通信 使用electron编写程序时经常遇到下面这种场景#xff1a; 当用户点击一个按钮时#xff0c;需要将页面输入的信息保存到本地电脑上#xff1b; 或者是点击菜单时#xff0c;需要页面窗口做出响应。 用户点击的按钮和窗口展示的内容是运行在渲染进程中 当用户点击一个按钮时需要将页面输入的信息保存到本地电脑上 或者是点击菜单时需要页面窗口做出响应。 用户点击的按钮和窗口展示的内容是运行在渲染进程中而保存的操作和点击菜单是运行在主进程中的渲染进程和主进程无法直接通信 这是就需要使用到进程间通信IPC 为了实现这种通信Electron提供了 ipcMain 和 ipcRenderer 模块。 渲染进程到主进程的通信 下面是一个简单的例子介绍在页面输入文本信息然后点击按钮将文本信息保存到本地电脑然后点击查询读取本地电脑文件并将读取的文本展示出来。 main.js const { app, BrowserWindow, ipcMain } require(electron) const {join} require(path); const fs require(fs);// 应用创建窗口 const createWindow () {const win new BrowserWindow({width: 800,height: 600,webPreferences: {preload: join(__dirname, preload.js)}})win.loadFile(index.html)win.webContents.openDevTools(); } app.whenReady().then(() {// 处理保存文本的事件ipcMain.handle(save-text, async (event, text) {const filePath ./output.txt;fs.writeFileSync(filePath, text);});// 处理查询文本的事件ipcMain.handle(query-text, async (event) {const filePath ./output.txt;return fs.readFileSync(filePath, {encoding: utf-8});});createWindow() })preload.js const { contextBridge, ipcRenderer } require(electron)contextBridge.exposeInMainWorld(myAPI, {saveText: (text) ipcRenderer.invoke(save-text, text),queryText: () ipcRenderer.invoke(query-text), })index.html !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title /head bodylabel输入文本信息:input idinput-name typetext/labelinput idsave typebutton value保存divinput idquery typebutton value读取文本信息div idtext/div/divscriptconst saveButton document.getElementById(save)saveButton.addEventListener(click, () {const inputName document.getElementById(input-name)window.myAPI.saveText(inputName.value)})const queryButton document.getElementById(query)queryButton.addEventListener(click, async () {const text document.getElementById(text)text.innerHTML await window.myAPI.queryText()})/script /body /html运行结果如下 输入hello world!,点击保存然后点击读取按钮就会把保存的文件内容展示出来。 这个是渲染进程到主进程的通信下面介绍一下主进程到渲染进程的通信。 主进程到渲染进程的通信 我们在窗口添加一个设置菜单和两个子菜单1-1 点击子菜单时页面数字做出相应反馈。 main.js const { app, BrowserWindow, Menu } require(electron) const {join} require(path);// 应用创建窗口 const createWindow () {const win new BrowserWindow({width: 800,height: 600,webPreferences: {preload: join(__dirname, preload.js)}})// 设置窗口菜单const menu Menu.buildFromTemplate([{label: 设置,submenu: [{// 点击1按钮时触发update-counter事件并传递参数1click: () win.webContents.send(update-counter, 1),label: 1},{// 点击-1按钮时触发update-counter事件并传递参数-1click: () win.webContents.send(update-counter, -1),label: -1}]}])Menu.setApplicationMenu(menu)win.loadFile(index.html)win.webContents.openDevTools(); } app.whenReady().then(() {createWindow() })preload.js const { contextBridge, ipcRenderer } require(electron)contextBridge.exposeInMainWorld(myAPI, {// 渲染进程监听update-counter事件handleCounter: (callback) ipcRenderer.on(update-counter, callback) })index.html !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title /head bodydivcount:span idcount0/span/divscriptconst count document.getElementById(count)// 传入监听update-counter事件的回调函数window.myAPI.handleCounter((event, value) {const num Number(count.innerText)count.innerText num value})/script /body /html运行结果如下 以上就是electron的进程间通信欢迎大家在评论区留言指正相互学习
http://www.hkea.cn/news/14417701/

相关文章:

  • 绍兴专业做网站的公司APP做网站
  • 南昌电商购物网站开发哈尔滨的网站建设公司
  • 九江网站排名建盏的好坏怎么区分
  • 品牌网站建设 意义织梦网站上传保存文档
  • 动漫谷网站建设策划书网站建设策划案模板
  • iis 新建网站没有文件夹权限展厅设计服务商
  • 新网站建设运营年计划书东营考试信息网官网2020
  • 公司找人做网站做网站的公司主要是干啥
  • 农安县建设局网站个人网站可以做网上支付吗
  • 自己怎么做网站购买空间系统开发流程和步骤
  • 网站制作的要求怎样上传网站
  • 哈尔滨建设网站哪家好网站搜索优化技巧
  • 做网站的数据库的设计网站开发语言怎么识别
  • 住房和城乡建设部课题网站山东做网站的公司有哪些
  • 惠来县建设局网站深圳企业网页制作
  • 备案 网站起名网站设计有哪些专业术语
  • 给网站做插画分辨率wordpress 使用七牛云
  • 石家庄哪里有做网站宁波seo整站优化
  • 电子商务网站有哪几种阿里巴巴个人网站怎么做
  • 深圳网站seo制作网站赚钱不
  • 如何创建网站的步骤大型网站开发项目合同
  • 重庆网站推广效果wordpress分页导航代码
  • 中移建设招标网站隆昌市住房和城乡建设厅网站
  • 网站百度屏蔽关键词医院网站建设要求
  • 华丽的网站模板天津网站开发平台
  • 网站容易被百度收录网站更改logo
  • 四川网站建设制作个人网站的设计流程
  • 网站管理系统图片招商网站建设方案
  • 平面素材设计网站成都装修公司前十强
  • 坪山网站建设流程广西中国建设银行网站首页