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

网站二维码代码wordpress网址

网站二维码代码,wordpress网址,四川住建厅信息查询系统,五百丁简历模板官方网站每个页面程序通过渲染和主进程通信,主进程根据需求调用Native Api来实现功能。 实际,每个页面和主程序通信时,需要建个桥梁来管理它们的通信,preload.js(自己创建),来管理实现通信。 ----创建preload.js定义桥梁js&a…

每个页面程序通过渲染和主进程通信,主进程根据需求调用Native Api来实现功能。

实际,每个页面和主程序通信时,需要建个桥梁来管理它们的通信,preload.js(自己创建),来管理实现通信

----创建preload.js定义桥梁js:

----关于主程序与渲染层的通信:

写入/传入:send->on   读取:invoke->handle   (预加载脚本 / 桥梁->主进程)

详细解析:
  1. send 和 on 的关系(主进程 <---> 渲染进程):        简易通信不需要返回值
    • send 是发送消息的动作。
    • on 是接收消息的动作。
    • 渲染进程通过 ipcRenderer.send 发送消息,主进程通过 ipcMain.on 接收消息。反之,主进程也可以通过 event.sender.send 向渲染进程发送消息,渲染进程通过 ipcRenderer.on 接收。
  2. invoke 和 handle 的关系(渲染进程 ---> 主进程): 处理异步操作,有返回值        
    • invoke 是发送请求并期望响应的动作。
    • handle 是处理请求并返回响应的动作。
    • 渲染进程通过 ipcRenderer.invoke 发送请求,主进程通过 ipcMain.handle 处理请求并返回结果
 总结:
  • send/on:适用于简单的事件驱动通信,不需要返回值。
  • invoke/handle:适用于需要返回值或处理异步操作的场景,更加现代化和灵活
 main.js(主程序)里的代码:
const {app, BrowserWindow,ipcMain} = require('electron')
const path = require('path')
const fs = require('fs')//写入文件
function writeFile(_, data) {fs.writeFileSync('D:/hello.txt', data)
}
//读取文件
function readFile() {const res = fs.readFileSync("D:/hello.txt").toString()return res
}function createWindow() {//当app准备好后,执行createWindow创建窗口const win = new BrowserWindow({width: 800,//窗口宽度height: 600,//窗口高度autoHideMenuBar: true,//自动隐藏菜单档alwaysOnTop: true,//置顶webPreferences: {  //在main.js中定义preload.js为桥梁preload: path.resolve(__dirname, './preload.js')}})ipcMain.on('file-save', writeFile)ipcMain.handle('file-read', readFile)//引入页面win.loadFile('./pages/index/index.html')win.openDevTools()  //自动打开调试窗口console.log("main.js里的main.js")
}app.on('ready', () => {createWindow()//兼容核心代码1app.on('activate', () => {if (BrowserWindow.getAllWindows().length === 0) createWindow()})})
preload.js(桥梁)里的代码 :
const {contextBridge, ipcRenderer} = require('electron')
contextBridge.exposeInMainWorld('myAPI', {version: process.version,saveFile: (data) => {ipcRenderer.send('file-save', data)},readFile() {//返回的是一个primise的返回值return ipcRenderer.invoke('file-read')}
})
render.js(渲染)里的代码:
const btn1 = document.getElementById("btn1")
const btn2 = document.getElementById("btn2")
const btn3 = document.getElementById("btn3")
const input = document.getElementById("inp")
btn1.onclick = () => {alert(myAPI.version)
}
btn2.onclick = () => {myAPI.saveFile(input.value)
}
btn3.onclick = async() => {const res = await myAPI.readFile()alert(res)
}
html的代码:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'"><title>这里是index页面</title>
</head><body>
<h1>欢迎学习Electron开发!!!</h1>
<button id="btn1">点我</button>
<hr/>
<input type="text" id="inp"/>
<button id="btn2">向D盘写入hello.txt</button>
<hr>
<button id="btn3">读取hello.txt的内容</button>
</body><script type="text/javascript" src="./render.js"></script>
</html>

包结构:

文章转载自:

http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://00000000.wfspn.cn
http://www.dtcms.com/wzjs/617390.html

相关文章:

  • 郑州门户网站建设哪家好wordpress网易音乐播放器
  • 高毅资产网站谁做的商城网站建设的优点
  • 新网站做seo太原建站一条龙
  • 建立企业网站选什么好建设部网站注册中心
  • 济南seo整站优化招商电话开发一个网站成本
  • 相册模版网站图片展示国产4k高清电视十大排名
  • 网站模板后台百度seo刷排名网址
  • 怎么把文件发送到网站做网站交互
  • 响应式网站模板 食品wordpress获取文章内容页的分类
  • php开发网站的优势高端的佛山网站建设价格
  • 临淄网站建设yx718分类信息有哪些网站
  • 做微信商城网站哪家好wordpress 如何迁移
  • 网站建设哪个好网站优化的内容
  • 网站建设-应酷天元建设集团有限公司一公司尤作岭
  • 新农村建设的网站大连做网站哪里好
  • 营销网站建设的步骤锦州网站开发建设
  • 网站开发项目总结报告wordpress 无效的文章类型
  • 莲都区建设局网站wordpress 显示文章分类
  • 校园网站建设检查自评报告网站建设要学哪些东西
  • 做公众号的模版的网站如何制作手机网页链接
  • 苏州网站设计哪家公司好ghost wordpress比较
  • 顺的网站建设要多少钱wordpress 实战视频教程
  • 河北住房和城乡建设厅网站电话五金机械设备网站模板建设
  • 做网站练手项目北京工商注册网官网
  • 如何判断网站是不是自适应专业 旅游网站建设
  • 标准品购买网站网页游戏网址
  • 二级域名分发网站做糕点的网站有哪些
  • asp网站开发一个网站想看访客量怎么做
  • 免费论坛建站哪些招聘网站做海外招聘
  • 网站建设 乐达云创永州seo快速排名