找回密码
 立即注册

QQ登录

只需一步,快速开始

妄想社成员 活字格认证

高级会员

73

主题

398

帖子

1859

积分

高级会员

积分
1859

时代开发者征文活动活字格认证圣诞拼拼乐

QQ
妄想社成员 活字格认证
高级会员   /  发表于:2023-1-14 16:49  /   查看:7286  /  回复:51
本帖最后由 妄想社成员 于 2023-1-14 16:51 编辑

之前的办法,虽然效果很完美,但架不住命令太复杂繁琐,是我绕了个大弯实现的,

运行中每次打开标签页都会执行非常多的命令,难免怀疑会拖慢系统速度。

image.png212090758.png image.png271125792.png


如图,需要很多麻烦的命令一同组合才能实现效果,其中应用到的标签页的api只有一个closed的关闭api,发掘潜力其实还很大。


昨天晚上研究能不能固定一个标签页,随着一个又一个的思路行不通,翻看标签页源码的时间也越来越长,我察觉到了一个被经常使用的api,
refreshTabTitle(uid,pagename)

这个api的名字虽然是刷新标签页标题的意思,但测试了一下效果其实是刷新标签页头部,根据tabList重新生成了头部的dom结构

所以昨天的固定标签页功能使用这个api也顺利实现了。


回过头,我也想能否在这个的基础上再实现一次关闭其他所有标签页,不需要活字格命令参与,只需调用一个函数即可的那种!

尝试中也在再次意识碰壁到,这个插件中tabList的遍历操作有限制,各种循环遍历和递归都试了一遍,都不行。。。


最后实现了,采用简单的对象深拷贝实现!


下附上demo,效果为标签页的固定与关闭其他所有标签页。

只需在母版页按钮上执行一个js函数即可,再无须在其他地方添加各种命令!

游客,如果您要查看本帖隐藏内容请回复

var filterTab = function () {
  var inst = this.parent.TabManager.TabContainer.getCurrentInstance(window),
    t = inst.tabList,
    activeTab = inst.activeTab,
    newTabList = [];
  for (var i = 0; i < t.length; i++) {
    if (t.pageName == activeTab.pageName || t.canBeClosed !== true) {
      newTabList.push(t);
    }
  }
  this.parent.TabManager.TabContainer.getCurrentInstance(window).tabList =
    JSON.parse(JSON.stringify(newTabList));
  console.log("t", t);
  inst.refreshTabTitle(activeTab.uid, activeTab.pageName);
};



---------------------------------------------------------------------------------------------------------------

往期精彩回顾:

简易商城实现:活字格简易商城链接

一键关闭标签页实现:一键关闭非当前标签页

单标签页刷新:单标签页单独刷新

道德清单自律应用实现:道德清单应用




51 个回复

正序浏览
小白学员
高级会员   /  发表于:2024-5-22 13:38:52
52#
mark display~~~~
回复 使用道具 举报
九五
注册会员   /  发表于:2024-5-22 12:43:16
51#
学习一下设计思路
回复 使用道具 举报
137294886
金牌服务用户   /  发表于:2024-5-21 14:17:18
50#
谢谢分享
回复 使用道具 举报
九五
注册会员   /  发表于:2024-5-21 12:00:37
49#
学习一下 功能强大值得学习
回复 使用道具 举报
xxh113
中级会员   /  发表于:2024-5-20 13:56:29
48#
6666666666666666666666666666666
回复 使用道具 举报
Mr.R
中级会员   /  发表于:2024-5-20 08:24:26
47#
关闭非固定标签页或非活动标签页新方法,更加便捷实用
回复 使用道具 举报
HAJK
注册会员   /  发表于:2024-3-14 15:05:58
46#
好好学习,天天向上
回复 使用道具 举报
503881523活字格认证
金牌服务用户   /  发表于:2024-2-25 00:42:59
45#
谢谢分享
回复 使用道具 举报
白菜
初级会员   /  发表于:2024-2-17 19:31:00
44#
厉害...........
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部