jQuery MiniUI

标题: Tabs切换,速度太慢。 [打印本页]

作者: xiaoNiuNew    时间: 2013-7-26 09:15:36     标题: Tabs切换,速度太慢。

一个弹出的tabs页面,有7、8个GRID,多的时候几百条数据,比较大,这样当多个tabs有数据的时候,切换很卡特别是IE9之类的老浏览器。请问有没有办法怎么优化一下?
本人Js不太了解,只知道Js的对象没发手动回收,miniui有没有这方面优化办法?

作者: langben    时间: 2013-7-26 09:23:46

ie 回收机制
function f() {
v = null;
setTimeout(CollectGarbage, 1);
}
GC清理”的两个条件:没有引用和离开上下文环境。
在IE窗体被最小化时,IE将会主动调用一次
作者: xiaoNiuNew    时间: 2013-7-26 10:21:22

有没有销毁一个tab中所有对象的方法?
作者: factory    时间: 2013-7-26 14:50:34

xiaoNiuNew 发表于 2013-7-26 10:21
有没有销毁一个tab中所有对象的方法?

你tab中的表格都是写死在tab里面的?
如果是的话,建议改成表格写到其他的页面上,然后tab的url去加载这个页面试试
作者: xiaoNiuNew    时间: 2013-7-30 10:31:38

factory 发表于 2013-7-26 14:50
你tab中的表格都是写死在tab里面的?
如果是的话,建议改成表格写到其他的页面上,然后tab的url去加载这 ...

我准备这么做,现在有个需求是需要在tabs所在页面调用tab页面的方法,以给tab页面传参,类似mini.open,母页面调用弹出页的函数。
但这种方式构建的tabs貌似没有getTabIFrameEl这个方法。可以实现上面的需求吗?
作者: factory    时间: 2013-7-30 10:36:39

xiaoNiuNew 发表于 2013-7-30 10:31
我准备这么做,现在有个需求是需要在tabs所在页面调用tab页面的方法,以给tab页面传参,类似mini.open, ...

url加载的tabs就会有iframe的啊
var iframeEl = tabs.getTabIFrameEl(tab);
然后就跟mini.open一样了
作者: xiaoNiuNew    时间: 2013-7-30 11:00:29

factory 发表于 2013-7-30 10:36
url加载的tabs就会有iframe的啊
var iframeEl = tabs.getTabIFrameEl(tab);
然后就跟mini.open一样了 ...

HTML:
<div id="tabs" class="mini-tabs" activeindex="0" style="width: 100%; height: 100%;">   
   <div name="tab1" title="表1">
     。。。一个grid
   </div>
   <div name="tab2" url="/APS_PlanOptimization/CompanyModelAnalysis/Rawm" title="表2">
    </div>
</div>
脚本:
mini.parse();
    var tabs = mini.get("tabs");
tabs.on("beforeactivechanged", function (e) {
          var temp = e.tab;
        var iframe = tabs.getTabIFrameEl(temp);
        iframe.contentWindow.myTest();//tab2中的函数
      
    });
iframe为空

作者: felt    时间: 2013-7-30 12:29:12

你的tab1不是加载的,没有iframe
作者: xiaoNiuNew    时间: 2013-7-30 13:23:33

felt 发表于 2013-7-30 12:29
你的tab1不是加载的,没有iframe

tabs.on("beforeactivechanged", function (e) {
           var temp = e.tab;
         var iframe = tabs.getTabIFrameEl(temp);
         iframe.contentWindow.myTest();//tab2中的函数
      
     });
里,e.tab拿到的是第二个加载的tab吧
作者: factory    时间: 2013-7-30 16:34:40

xiaoNiuNew 发表于 2013-7-30 13:23
tabs.on("beforeactivechanged", function (e) {
           var temp = e.tab;
         var iframe = t ...

beforeactivechanged 是切换之前激发




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