在FireFox的复杂dojo布局中调整浏览器的速度

时间:2011-06-29 17:49:22

标签: javascript firefox dojo

我有一个相对复杂但非常典型的我认为,布局使用dojo 1.6.1。

加载速度足够快,但是当我调整浏览器大小时,布局需要花费一些时间来赶上。奇怪的是,IE6上的调整大小很快就会发生变化。

以下是显示结构化的部分HTML:

<body class="claro">
    <div dojoType="dijit.layout.BorderContainer" id="page">
        <div dojoType="dojox.layout.ExpandoPane" region="top">
            <div id="mainheader" dojoType="dijit.layout.ContentPane" region="top">Page Header</div>
        </div>
        <div dojoType="dijit.layout.BorderContainer" region="center">
            <div dojoType="dojox.layout.ExpandoPane" region="left" style="width: 20em;">
                <div id="mainnav" dojoType="dijit.layout.ContentPane" region="left">Page Nav</div>
            </div>
            <div dojoType="dijit.layout.ContentPane" region="center">
                <div dojoType="dijit.layout.BorderContainer" region="center">
                    <div dojoType="dojox.layout.ExpandoPane" region="top">
                        <div dojoType="dijit.layout.ContentPane" region="top">Main Top</div>
                    </div>
                    <div dojoType="dijit.layout.TabContainer" region="center" tabStrip="true">
                        <div id="maincontent" dojoType="dijit.layout.ContentPane" region="center" href="large_data.htm" title="Tab 1">
                        </div>
                        <div dojoType="dijit.layout.ContentPane" title="Tab 2"></div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>

随着加载到其中一个选项卡窗格中的数据变大,效果更加显着。它不必太大 - 任何相当大的HTML表都可以完成这项工作。

我知道我有一些冗余的布局组件,我可以删除。但速度的提升并不是那么多。

如果我放置一个BorderContainer和一个ContentPane并在那里加载数据,调整大小显然足够快(虽然仍然没有IE6那么快!)

请注意,我尝试使用延时调整大小(即去抖动),但没有那么多好处。

如果有人能够提供有关为什么会发生这种情况或解决方法的见解,我会很感激。

0 个答案:

没有答案