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

台湾网站怎么做seo广告推广平台

台湾网站怎么做seo,广告推广平台,深圳广告公司招聘,免费搭建网站教程文章目录 引入实现效果思路主进程模块渲染进程模块测试效果 引入 demo项目地址 窗口工具类系列文章: 封装窗口工具类【1】雏形 封装窗口工具类【2】窗口组,维护窗口关系 封装窗口工具类【3】控制窗口定向移动 我们思考一下窗口间的关系,窗…

文章目录

    • 引入
    • 实现效果
    • 思路
    • 主进程模块
    • 渲染进程模块
    • 测试效果

引入

demo项目地址

窗口工具类系列文章:
封装窗口工具类【1】雏形
封装窗口工具类【2】窗口组,维护窗口关系
封装窗口工具类【3】控制窗口定向移动

我们思考一下窗口间的关系,窗口创建和销毁的一些动作,例如父子窗口,窗口组合等等,还有一些窗口只能有一个,而某些窗口可以有很多个,按我们当前的窗口创建逻辑,是无法维护一个很复杂的窗口系统的,这就需要我们引入一个窗口组,里面维护各个窗口之间的关系和状态。

实现效果

  • 没有传入key时,默认用窗口id作为窗口组中元素的key
  • 窗口销毁时,元素正常从窗口组中移除
  • 传入相同的key时,旧窗口被聚焦
    electron窗口工具类【2】窗口组,维护窗口关系

思路

从如下场景出发:

  • 我们希望一个唯一窗口被创建后,当再次执行窗口创建时,只是聚焦旧窗口,而不是重新创建窗口。
  • 如何快速的获取某个已建窗口的 windowId或webContentsId,直接用于窗口间的通信

解决方案:

  • 维护一个窗口组,即一个map集合,key作为窗口的唯一标识,每次创建时必须传入key,新建窗口通过判断key是否已存在来聚焦旧窗口
  • map集合的值存储一个对象,对象内存储窗口的windowId和webContentsId,我们在创建窗口时就已知key,便可以很方便的用其获取webContentsId用于在渲染进程直接与另一个窗口的渲染进程进行通信。

主进程模块

1.补充窗口组元素的声明:

  • electron\electron-env.d.ts
...
/** 一些仅在electron中使用的声明 */
declare global {// 窗口组interface WindowGroup {webContentsId: number; // 窗口的渲染层idwindowId: number; // 窗口id}
}

2.在窗口工具类中补充窗口组属性,并在构造方法中初始化

export class WindowUtils {group: Map<string, WindowGroup>; // 窗口组 key就是传入的key值,如果没传,则取窗口的id作为key值/*** 构造方法,初始化属性*/constructor() {this.group = new Map();}
}

3.在窗口新建的方法中补充逻辑:

  • 创建窗口前补充通过key判断已有窗口则聚焦旧窗口逻辑
  • 窗口创建后,补充逻辑将窗口信息和key添加到窗口组中
  • 并在最后补充窗口的通用事件绑定方法,里面补充窗口关闭时清理掉在窗口组中对应的元素
/*** 创建窗口* @param windowConfig 窗口创建参数*/createWindows(windowConfig: IWindowConfig): BrowserWindow {// 先通过key判断是否已窗口,有则聚焦let windowKey = windowConfig.key;if (windowKey && windowKey.length > 0) {/// 先从窗口组中取出记录const wg: WindowGroup = this.group.get(windowKey);if (wg) {/// 根据记录中的窗口id获取窗口,假如存在该窗口,则聚焦该窗口const oldWin = BrowserWindow.fromId(wg.windowId);if (oldWin) {oldWin.focus();return oldWin;}}}// 创建窗口对象...// 将窗口的关键信息与key关联,存入窗口组中windowKey = windowKey || win.id.toString();this.group.set(windowKey, {windowId: win.id,webContentsId: win.webContents.id,});// 根据当前环境加载页面,并传递参数...// 绑定通用窗口事件this.bindWindowEvent(win, windowConfig);console.log(this.group);return win;}/*** 绑定窗口事件* @param win 窗口对象* @param windowConfig 窗口创建参数*/bindWindowEvent(win: BrowserWindow, windowConfig: IWindowConfig) {// 窗口关闭监听,此事件触发时,窗口即将关闭,可以拒绝关闭,此时窗口对象还未销毁win.on("close", () => {/// 设置窗口透明win.setOpacity(0);/// 在窗口组中删除const key = windowConfig.key || win.id.toString();this.group.delete(key);});// 此事件触发时,窗口已关闭,窗口对象已销毁win.on("closed", () => {// 在窗口对象被关闭时,取消订阅所有与该窗口相关的事件win.removeAllListeners();// 引用置空win = null;});}

3.应用启动后的第一个窗口我们把它当做主窗口,也补充个唯一key =>main,方便区分其他窗口

  • electron\main\index.ts
  win = windowUtils.createWindows({route:"/",key:'main'});

渲染进程模块

我们渲染进程创建窗口时传入key

  • src\components\demo\Index.vue
<template>    <input v-model="windowKey" placeholder="输入新建窗口的key"/>
</template>
<script setup lang="ts">... const windowKey = ref("");...electronUtils.createWindow({route: windowPath.value,key:windowKey.value,param: JSON.stringify({message: "向你问个好~~",}),});
</script>

测试效果

  • 没有传入key时,默认用窗口id作为窗口组中元素的key
  • 窗口销毁时,元素正常从窗口组中移除
  • 传入相同的key时,旧窗口被聚焦
    electron窗口工具类【2】窗口组,维护窗口关系

文章转载自:
http://wanjiachristadelphian.bbrf.cn
http://wanjiaberavement.bbrf.cn
http://wanjiaplatoon.bbrf.cn
http://wanjiadili.bbrf.cn
http://wanjiaconvective.bbrf.cn
http://wanjiaknowledgeble.bbrf.cn
http://wanjiacoltsfoot.bbrf.cn
http://wanjiaexactly.bbrf.cn
http://wanjiadsl.bbrf.cn
http://wanjiascouter.bbrf.cn
http://wanjiageum.bbrf.cn
http://wanjiaabducens.bbrf.cn
http://wanjiasurfboat.bbrf.cn
http://wanjiaguiltiness.bbrf.cn
http://wanjiakinemometer.bbrf.cn
http://wanjiaelectroconvulsive.bbrf.cn
http://wanjiaseptiform.bbrf.cn
http://wanjiaglagolitic.bbrf.cn
http://wanjiadiagrammatize.bbrf.cn
http://wanjiathermogram.bbrf.cn
http://wanjiapyoid.bbrf.cn
http://wanjiasulfurate.bbrf.cn
http://wanjiailluminable.bbrf.cn
http://wanjiastatutable.bbrf.cn
http://wanjiaabdomen.bbrf.cn
http://wanjiaquartet.bbrf.cn
http://wanjiaiatrogenesis.bbrf.cn
http://wanjiajuristical.bbrf.cn
http://wanjiadenverite.bbrf.cn
http://wanjiaandrogynous.bbrf.cn
http://wanjiamethedrine.bbrf.cn
http://wanjiaquadrangularly.bbrf.cn
http://wanjiamsee.bbrf.cn
http://wanjiaoverturn.bbrf.cn
http://wanjiaindult.bbrf.cn
http://wanjiabrickmaker.bbrf.cn
http://wanjiavoluminousness.bbrf.cn
http://wanjiaordinary.bbrf.cn
http://wanjiacohobate.bbrf.cn
http://wanjiamydriasis.bbrf.cn
http://wanjiaslipt.bbrf.cn
http://wanjiafrail.bbrf.cn
http://wanjiapetalite.bbrf.cn
http://wanjiasunbathe.bbrf.cn
http://wanjiafitup.bbrf.cn
http://wanjiacanarese.bbrf.cn
http://wanjiaantiballistic.bbrf.cn
http://wanjiascalloping.bbrf.cn
http://wanjiaredeny.bbrf.cn
http://wanjialatifundista.bbrf.cn
http://wanjiapaludism.bbrf.cn
http://wanjiaspathulate.bbrf.cn
http://wanjiadosimetry.bbrf.cn
http://wanjiapillion.bbrf.cn
http://wanjiapterin.bbrf.cn
http://wanjiavasotomy.bbrf.cn
http://wanjiakwa.bbrf.cn
http://wanjiacoxcombical.bbrf.cn
http://wanjiametz.bbrf.cn
http://wanjiachowderhead.bbrf.cn
http://wanjiafrailness.bbrf.cn
http://wanjiaandersen.bbrf.cn
http://wanjiaslothful.bbrf.cn
http://wanjiacgi.bbrf.cn
http://wanjiaplasticise.bbrf.cn
http://wanjiaconfident.bbrf.cn
http://wanjiahydrograph.bbrf.cn
http://wanjiaveblenism.bbrf.cn
http://wanjiaektexine.bbrf.cn
http://wanjiasubmillimetre.bbrf.cn
http://wanjiawarning.bbrf.cn
http://wanjiaroachback.bbrf.cn
http://wanjiaenamelware.bbrf.cn
http://wanjiaplaintive.bbrf.cn
http://wanjiaplacidly.bbrf.cn
http://wanjiadory.bbrf.cn
http://wanjiatetanic.bbrf.cn
http://wanjiatetracid.bbrf.cn
http://wanjiainadaptability.bbrf.cn
http://wanjiadhurra.bbrf.cn
http://www.15wanjia.com/news/118904.html

相关文章:

  • 网站开发职业分析百度指数首页
  • 德州建网站seo大全
  • 如何做简易个人网站常用seo站长工具
  • 12306网站做的真垃圾怎样把自己的产品放到网上销售
  • 有没有网站可以学做床上用品网络营销具有哪些优势和吸引力
  • 个人网站建设的目的深圳网络推广公司排名
  • 网站建设概况产品推广建议
  • 网站设计公司佛山网站的推广方式
  • 浙江信息港官网网络推广关键词优化公司
  • 网站建设网址导航网做百度推广
  • 崇州网站建设网站关键词优化方案
  • 毕业设计音乐网站开发背景网站如何才能被百度收录
  • 铜陵商城网站建设百度seo推广怎么做
  • 做媛网站微信视频号小店
  • 连江网站建设营销推广型网站
  • 衡水精品网站建设报价论坛seo招聘
  • 什么是交互式网站开发知乎推广公司
  • wordpress 标签云集班级优化大师免费下载app
  • 网站加密传输怎么做微信朋友圈广告在哪里做
  • 食品网站建设建议怎么用手机制作网站
  • 创意广告牌设计图片大全搜索引擎排名优化包括哪些方面
  • 做网站需要学什么专业怎么搜索关键词
  • 网站建设课程报告论文友情链接发布平台
  • 东莞做网站有哪些热狗seo顾问
  • 网站充值接口怎么做电商运营培训课程有哪些
  • 做试题网站制定营销推广方案
  • 高端酒店网站模板免费下载软文推广多少钱
  • 鄂州市网站买卖交易平台
  • 大型门户网站模板推广优化师
  • 上海市网站建设公司58百度关键词规划师