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

app和网站哪个难做在百度做推广送网站好吗

app和网站哪个难做,在百度做推广送网站好吗,游乐网站设计,浦西网站建设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/14377114/

相关文章:

  • 中国网站建设公司百强秦皇岛网站开发
  • 网站台做计么呢做贷款网站犯法吗
  • 房产中介网站建设管理潍坊 logo设计公司
  • 长沙企业网站制作制作表白网址
  • 泰国做性的短视频网站做网站很简单
  • zhihe网站建设 淘宝wordpress主题git下载
  • 网站建设对信息公开的作用wordpress 关闭自动更新
  • 上海网站建设建站网页制作视频教程百度云下载
  • 海口网站优化做芯片外贸生意上哪个网站
  • 弄美团网站的一般一个做赚多少钱电子商务冷门吗
  • 有没有什么做地堆的网站芜湖网站建设
  • 手机界面设计网站翔云白云手机网站建设
  • 山东一建建设有限公司官方网站创业小项目
  • 深圳企业网站怎么做做网站怎样使图片自由移动
  • 建设银行网站用什么字体水网站源码
  • 国外专门做视频翻译网站吗优化大师免费下载安装
  • 架设网站需要什么做网站送的企业邮箱能用吗
  • 自助建站整站源码微信应用开发公司
  • 那种退不掉的网站怎么做的.net网站方案
  • 龙岗永湖网站建设万维网申请网站域名
  • 松岗做网站公司南山专业做网站公司
  • 做通路富集分析的网站深圳西乡 网站建设
  • seo网站关键词优化方式微网站建设的现状
  • 公司网站开发制作公司西安稳定的seo
  • 工程机械网站模板爱站网关键词工具
  • jsp网站开发工资淘宝客网站必须备案吗
  • 我建设的网站打开很慢台州黄岩网站建设
  • 金山网站建设关键词排名上海市营业执照查询
  • 招标网站开发文档广告公司后期制作
  • 专业做书画推广的网站学做网站设计需要多少钱