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 static/image/common/back.gif
tabs设置autoLoadTabs=“true”

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

mousebeer 发表于 2022-8-24 13:48:59

felt 发表于 2022-8-24 13:20 static/image/common/back.gif
tabs设置autoLoadTabs=“true”

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

felt 发表于 2022-8-24 15:43:04

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

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

mousebeer 发表于 2022-8-24 16:09:00

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

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

felt 发表于 2022-8-24 17:44:41

mousebeer 发表于 2022-8-24 16:09 static/image/common/back.gif
自动加载是怎么实现的呢?我没有直接在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 static/image/common/back.gif
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 static/image/common/back.gif
通过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 static/image/common/back.gif
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));
}




页: [1] 2
查看完整版本: 如何在javascript中加载tabs中未点击的tab的内容