jQuery MiniUI

标题: 如何在javascript中加载tabs中未点击的tab的内容 [打印本页]

作者: mousebeer    时间: 2022-8-24 11:43:49     标题: 如何在javascript中加载tabs中未点击的tab的内容

有多个tab页面,父级页面的按钮点击时,同时获取子tab下面的多个tab页的内容,(期望,未点击加载的tab页内容也可以获取到,但是通过tabs.loadTab传递url和tab对象,并未出现iframe)
作者: felt    时间: 2022-8-24 13:20:23

tabs设置autoLoadTabs=“true”
作者: mousebeer    时间: 2022-8-24 13:38:09

felt 发表于 2022-8-24 13:20
tabs设置autoLoadTabs=“true”

还有没有别的方式么?希望在特定情况下才加载tab,比如点击父页面中按钮的时候,除此之外都还懒加载tab
作者: mousebeer    时间: 2022-8-24 13:48:59

felt 发表于 2022-8-24 13:20
tabs设置autoLoadTabs=“true”

尝试使用loadTab来加载tabs中未点击的tab页签来加载,没有生效,可否通过这种方式实现呢
作者: felt    时间: 2022-8-24 15:43:04

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

未加载的页面肯定无法获取到内容的。设置autoLoadTabs=“true”的话,有url的tab初始都会自动加载
作者: mousebeer    时间: 2022-8-24 16:09:00

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

自动加载是怎么实现的呢?我没有直接在tab中加url,而是动态的方式添加url。可否通过url,自动加载内容呢
作者: felt    时间: 2022-8-24 17:44:41

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

tabs.addTab(tab,0);
tabs.loadTab( url,tab);
添加之后主动加载页面
作者: mousebeer    时间: 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.
作者: felt    时间: 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都会加载
作者: mousebeer    时间: 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));
}





作者: felt    时间: 2022-9-2 09:15:44

mousebeer 发表于 2022-9-1 15:41
第一点,有点不太理解,方便给个示例么?
        
   

[attach]13675[/attach]
参考这个例子,addTab的时候内部的页面就已经加载了。

作者: mousebeer    时间: 2022-9-5 10:47:39

felt 发表于 2022-9-2 09:15
参考这个例子,addTab的时候内部的页面就已经加载了。

低版本的没有autoloadTab这个属性,必须要更新成最新版的使用这个属性才可以解决麽?有没有不用更新到最新版的方法呢大佬?
作者: felt    时间: 2022-9-5 13:04:22

mousebeer 发表于 2022-9-5 10:47
低版本的没有autoloadTab这个属性,必须要更新成最新版的使用这个属性才可以解决麽?有没有不用更新到最 ...

这必须更新到最新版本了,我们维护都是在最新版本上的。




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2