找回密码
 立即注册

QQ登录

只需一步,快速开始

妄想社成员 活字格认证

高级会员

72

主题

387

帖子

1765

积分

高级会员

积分
1765

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

QQ
妄想社成员 活字格认证
高级会员   /  发表于:2023-1-14 16:49  /   查看:5976  /  回复:45
本帖最后由 妄想社成员 于 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);
};



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

往期精彩回顾:

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

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

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

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




45 个回复

倒序浏览
oaerp
中级会员   /  发表于:2023-1-14 16:59:32
沙发
学习,看看是怎么实现的
回复 使用道具 举报
clashfree
注册会员   /  发表于:2023-1-14 21:25:59
板凳
学习了
回复 使用道具 举报
amtath悬赏达人认证 活字格认证
论坛元老   /  发表于:2023-1-14 22:03:40
地板
顶楼主啦..希望楼主多发精品好帖啦.....
回复 使用道具 举报
丶夫诸
初级会员   /  发表于:2023-1-15 10:25:28
5#
666666666666
回复 使用道具 举报
小田
初级会员   /  发表于:2023-1-16 09:50:15
6#
1111111111111111
回复 使用道具 举报
数据民工悬赏达人认证 活字格认证
高级会员   /  发表于:2023-1-16 22:09:47
7#
感谢分享,活字格的潜力无穷无尽
回复 使用道具 举报
unimaallan
金牌服务用户   /  发表于:2023-1-16 22:43:08
8#
顶楼主啦..希望楼主多发精品好帖啦.....
回复 使用道具 举报
samlxr活字格认证
中级会员   /  发表于:2023-1-20 16:40:14
9#
66
回复 使用道具 举报
jinxinwork
初级会员   /  发表于:2023-1-22 21:57:36
10#
下附上demo,效果为标签页的固定与关闭其他所有标签页。
回复 使用道具 举报
12345下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部