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

网站建设常用的开发语言介绍设计公司官网首页

网站建设常用的开发语言介绍,设计公司官网首页,关键词优化设计,广告设计好吗简介 MessageChannelMain 是 DOM MessageChannel 对象的主进程等价对象。 它的特有功能是创建一对已连接的 MessagePortMain 对象。 Electron 本身为了灵活追加 on(message) 机制#xff0c;就说明该 MessageChannelMain 已经被创建了#xff0c;而 Web 开发中message) 机制就说明该 MessageChannelMain 已经被创建了而 Web 开发中是没有这种权限自由开进程然后再把 port 塞过去的所以消息不会丢失但是 Electron 这种操作非常多所以要先写好 port.on(message)再启动 port.start()避免消息丢失这是和 MessageChannel 一个大区别 MessagePortMain 是 DOM MessagePort 对象的主进程等价对象。 它的行为类似于DOM版本不同的是它使用 Node.js EventEmitter 事件系统而不是 DOM EventTarget 系统。 这意味着你应该用 port.on(message, ...) 来监听事件, 来代替 port.onmessage  ... 或 port.addEventListener(message, ...) 针对 b 能把你坑哭尤其你不知道 MessageChannel 是啥的人在了解了之后第一反应就是 MessageChannel 的案例结果不运行是不是很尴尬这里特别提醒 MessageChannel 是什么请参考HTML5 API 多端通信桥 MessageChannel 技术_森叶的博客-CSDN博客  Electron 官方文档 助记解释 MessageChannelMain 可以理解为一个独立的协程队列提供的两个 port 之间互为对方的管道port2 发送消息的队列会提取出来发给我 port2同理 port2 的生产的消息也会发给我 port1因此你在创建了MessageChannelMain 之后呢就可以开始生产消息了但是你没 port1.start()时port1.on(message,()  {}) 是不会被消费的。 上面这个结论就是如果你发多了消息如果没有及时释放应该都会存在这个队列里如果一直不打开 port.start()理论上内存会一直上涨不打开 port.start()也是一个 bug 了但是有可能比如创建了之后消费者因为什么原因没启动起来只有生产者再发就导致了内存溢出。 MessageChannel 是 HTML5 API 的产物只适合 Web 环境下的互相通信不适合 Electon 进程级别的通信所以 Electron 就搞了一个 MessageChannelMain 这个可以在任意进程中来去自如。 问题 主进程创建了这个通信桥如何分发给其他各种进程 渲染进程和工具进程utility-process 其他进程如何接收 port 渲染进程、webview、utility-process工具进程 其他进程如何通过 port 收发信息 渲染进程直接和 webview 标签的 preload.js 通信 深度传递时要注意 webview 加载完毕后再发过去不然可能导致没收到的尴尬问题 // 在主进程中 const { MessageChannelMain } require(electron);const channel new MessageChannelMain();// 这里意味着可以做一个定时轮询数据库操作 等到 webview 完成加载后再发过去 senderWebContents.once(did-finish-load, () {senderWebContents.postMessage(channel, null, [channel.port1]); });containerWebContents.once(did-finish-load, () {containerWebContents.postMessage(channel, null, [channel.port2]); });// 在sender渲染进程中 const { ipcRenderer } require(electron);ipcRenderer.on(channel, (event, ports) {const port ports[0];port.postMessage(Hello from sender!);port.on(message, (e) {console.log(sender renderer receive message:, e.data);})//下面这个绝不能少port.start(); });// 在container渲染进程中 const { ipcRenderer } require(electron);ipcRenderer.on(channel, (event, ports) {const port ports[0];const webview document.querySelector(webview);webview.send(channel, port); });// 在webview的preload.js中 const { ipcRenderer } require(electron);ipcRenderer.on(channel, (event, port) {port.on(message, (event) {console.log(event.data); // 打印 Hello from sender!});// 下面这个绝不能少port.start() });utility-process 和 MessageChannelMain Electron 工具进程utilityProcess 使用中遇到的坑点解决方案_森叶的博客-CSDN博客
http://www.pierceye.com/news/655925/

相关文章:

  • 一个公司备案多个网站要注意合肥网站策划
  • 做网站推广也要营业执照吗网站关键词排名优化技巧
  • 网站建设需要考啥证广告设计与制作专业课程
  • 泸州市往建局建设银行网站名称广州网站建设 推广公司哪家好
  • 运维网站制作dw设计个人网页
  • 南城网站建设公司信息吉林省建设招标网站
  • 怎么把自己的网站上传到百度wordpress 文章拆分
  • 南湖网站建设公司百度app推广方法
  • 做海报用的图片网站数据库端口 wordpress
  • js面向对象网站开发工业控制软件开发
  • 做网站的时候说需求的专业术语app开发定制外包26
  • 辽源网站建设公司做网站有送企业邮箱吗
  • 哈尔滨网站建设可信赖惠州网站制作专业
  • 中法电商网站建设石家庄手机网站建站
  • 北京pk10做号网站官方网站怎么写
  • 半路出家去学计算机网站开发团购做的好的网站
  • 没有网站怎么做CPC模板网站一天建好
  • 淘客网站模版北京网站优化指导
  • 网站域名更改后怎么做映射石家庄新闻主持人
  • 网站报404错误怎么解决办法禹城市建设局网站
  • asp网站建设运用的技术哪里有做商城的网站
  • 沈阳的网站制作公司哪家好七七鱼竞价托管
  • 网站如何做流量赚钱地推公司
  • 众筹网站建设需要多少资金知己图书网站建设策划书
  • 开源房产网站源码网站建设需要数学
  • 网站建设云技术公司推荐企业内部管理软件
  • 网站建设与维护案列北京梵客装饰
  • 网站建设电销话术海口h5建站
  • 网站建设怎么搭建服务器梧州本地网站
  • 佛山哪个做网站的好天津建设工程信息网怎么报名的