-
-
缱绻 数据领袖Lv6
发表于2019-3-22 21:37
楼主
需求场景:
门户中可能会遇到这种情况,点击一张报表,右边子窗口中就会弹出一个tab页签进行展示,而且是每点击一张不同的报表,就会在门户上增加一个tab页签,那么如果在这个门户中有100多张报表呢,用户一直点点点……,门户上就会有几十个tab页签,这样可能就会导致门户或者浏览器卡屏了。
那么遇到这种情况怎么办呢?咱们就需要来控制tab页签的个数,当用户打开新的tab页签的时候,自动关闭之前打开的tab页签,这样就不会出现上面所描述的问题了,门户中查看报表也流畅多了~~
解决方案
下面咱们来分享一个脚本,达到的效果是使得门户上的tab页最多展示5个,如果打开第6张表,就自动关闭第1个(即最左侧)tab页。
脚本如下:
复制代码该脚本用在页面的“加载完成”中,如下图:
门户备份见附件!
门户等备份_20190322_213703.zip
(1.64 MB, 下载次数: )
门户中可能会遇到这种情况,点击一张报表,右边子窗口中就会弹出一个tab页签进行展示,而且是每点击一张不同的报表,就会在门户上增加一个tab页签,那么如果在这个门户中有100多张报表呢,用户一直点点点……,门户上就会有几十个tab页签,这样可能就会导致门户或者浏览器卡屏了。
![](static/image/common/none.gif)
那么遇到这种情况怎么办呢?咱们就需要来控制tab页签的个数,当用户打开新的tab页签的时候,自动关闭之前打开的tab页签,这样就不会出现上面所描述的问题了,门户中查看报表也流畅多了~~
解决方案
下面咱们来分享一个脚本,达到的效果是使得门户上的tab页最多展示5个,如果打开第6张表,就自动关闭第1个(即最左侧)tab页。
脚本如下:
- $p.$("pagetab")._objs["widget_xtabctrl"].setOnAdded(function(index, tabctrl) {
- if(tabctrl.getCount() > 5) {
- tabctrl.remove(0);
- }
- return true;
- });
![](static/image/common/none.gif)
门户备份见附件!
![](static/image/filetype/zip.gif)