jQuery MiniUI

 找回密码
 立即注册
查看: 2729|回复: 12
打印 上一主题 下一主题

如何在javascript中加载tabs中未点击的tab的内容 [复制链接]

Rank: 1

跳转到指定楼层
楼主
发表于 2022-8-24 11:43:49 |只看该作者 |倒序浏览
有多个tab页面,父级页面的按钮点击时,同时获取子tab下面的多个tab页的内容,(期望,未点击加载的tab页内容也可以获取到,但是通过tabs.loadTab传递url和tab对象,并未出现iframe)

Rank: 8Rank: 8

沙发
发表于 2022-8-24 13:20:23 |只看该作者
tabs设置autoLoadTabs=“true”

Rank: 1

板凳
发表于 2022-8-24 13:38:09 |只看该作者
felt 发表于 2022-8-24 13:20
tabs设置autoLoadTabs=“true”

还有没有别的方式么?希望在特定情况下才加载tab,比如点击父页面中按钮的时候,除此之外都还懒加载tab

Rank: 1

地板
发表于 2022-8-24 13:48:59 |只看该作者
felt 发表于 2022-8-24 13:20
tabs设置autoLoadTabs=“true”

尝试使用loadTab来加载tabs中未点击的tab页签来加载,没有生效,可否通过这种方式实现呢

Rank: 8Rank: 8

5#
发表于 2022-8-24 15:43:04 |只看该作者
mousebeer 发表于 2022-8-24 13:48
尝试使用loadTab来加载tabs中未点击的tab页签来加载,没有生效,可否通过这种方式实现呢 ...

未加载的页面肯定无法获取到内容的。设置autoLoadTabs=“true”的话,有url的tab初始都会自动加载

Rank: 1

6#
发表于 2022-8-24 16:09:00 |只看该作者
felt 发表于 2022-8-24 15:43
未加载的页面肯定无法获取到内容的。设置autoLoadTabs=“true”的话,有url的tab初始都会自动加载 ...

自动加载是怎么实现的呢?我没有直接在tab中加url,而是动态的方式添加url。可否通过url,自动加载内容呢

Rank: 8Rank: 8

7#
发表于 2022-8-24 17:44:41 |只看该作者
mousebeer 发表于 2022-8-24 16:09
自动加载是怎么实现的呢?我没有直接在tab中加url,而是动态的方式添加url。可否通过url,自动加载内容呢 ...

tabs.addTab(tab,0);
tabs.loadTab( url,tab);
添加之后主动加载页面

Rank: 1

8#
发表于 2022-8-25 13:14:03 |只看该作者
felt 发表于 2022-8-24 17:44
tabs.addTab(tab,0);
tabs.loadTab( url,tab);
添加之后主动加载页面

通过tabs.getTabs();获取到所有tab    [{url:'aa.html',title:'标题1',_iframeEl:xxx},{url:'bb.html',title:'标题2'}]. 此时标题1所在的tab属于当前激活的tab,标题2的未激活。tabs.getTabIFrameEl({url:'bb.html',title:'标题2'})获取tab2的iframe时出现异常,打印内容是undefine。在打印前加了楼主说的,tabs.loadTab(url,tab);在打印tabs.getTabIFrameEl({url:'bb.html',title:'标题2'})任然是undefine.

Rank: 8Rank: 8

9#
发表于 2022-8-26 09:03:01 |只看该作者
mousebeer 发表于 2022-8-25 13:14
通过tabs.getTabs();获取到所有tab    [{url:'aa.html',title:'标题1',_iframeEl:xxx},{url:'bb.html',ti ...

1 获取的时候需要用里面的tab来获取,不是你这个对象。
2 请使用最新版本,设置autoLoadTabs="true",那么初始加载的tab都会加载

Rank: 1

10#
发表于 2022-9-1 15:41:04 |只看该作者
本帖最后由 mousebeer 于 2022-9-1 16:11 编辑
felt 发表于 2022-8-26 09:03
1 获取的时候需要用里面的tab来获取,不是你这个对象。
2 请使用最新版本,设置autoLoadTabs="true",那 ...

第一点,有点不太理解,方便给个示例么?<div class="mini-tabs" id="tabs" plain="false"
     style="height: 100%; width: 100%;">
    <div name="tab1" title="tab1" visible="false"></div>    <div name="tab2" title="tab2" visible="false"></div>
    <div name="tab3" title="tab3" visible="false"></div>
</div>

这是我这边的写法,会在页面加载的时候,tabs.updateTab() 给每个tab设置url,并且显示
初始情况是,tab1处于激活状态,可以console输出可以获取到,想通过代码的方式,获取到未加载的tab2和tab3的iframe内容,采用了大佬说的loadTab,输出依旧是undefine。大佬方便给个示例指导下麽?谢谢啦

var tabsArry = tabs.getTabs();
for(var i=0;i<$tabs.length;i++){

    tabs.loadTab(tabsArry.url, tabsArry);
   console.log(tabs.getTabIFrameEl(tabsArry));
}




Archiver|普加软件

GMT+8, 2024-4-20 09:10 , Processed in 1.046081 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部