我有一个相对复杂但非常典型的我认为,布局使用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那么快!)
请注意,我尝试使用延时调整大小(即去抖动),但没有那么多好处。
如果有人能够提供有关为什么会发生这种情况或解决方法的见解,我会很感激。