WEB开发网
开发学院软件开发Java 改善 Dojo 应用程序的初始下载时间 阅读

改善 Dojo 应用程序的初始下载时间

 2009-09-28 00:00:00 来源:WEB开发网   
核心提示: 通过清单 2 可以了解一些事项,我创建了一个简单的方法来将 HTML 片段加载到特定的内容中,改善 Dojo 应用程序的初始下载时间(3),我还使用 dojox.layout.ContentPane 替代了缺省 dijit,扩展的内容窗格允许在加载区域时执行 JavaScript,通过这样,不仅

通过清单 2 可以了解一些事项。我创建了一个简单的方法来将 HTML 片段加载到特定的内容中。我还使用 dojox.layout.ContentPane 替代了缺省 dijit。扩展的内容窗格允许在加载区域时执行 JavaScript。通过这样,不仅可以延迟加载 HTML 内容,还可以采用延迟加载方式加载关联的逻辑。清单 3 显示了我所编写的实用方法的实现。

清单 3. 延迟加载

var loaded = new dojox.collections.Dictionary(); 
 
function hideAll() 
{ 
 console.debug("Hiding other content"); 
 var ids = loaded.getKeyList(); 
 console.debug("Getting ID -> " + ids); 
 console.debug("List is Array"); 
 for (var id in ids) { 
 console.debug("Getting section -> " + ids[id]); 
 var section = dijit.byId(ids[id]); 
 console.debug("Got Section -> " + section); 
 if (section) { 
  console.debug("setting DOM"); 
  section.domNode.style.display = "none"; 
 } 
 } 
 console.debug("Content is hid"); 
} 
 
function showItem(key,template) 
{ 
 hideAll(); 
 console.debug("Show Item -> " + key); 
 var item = dijit.byId(key); 
 console.debug(item); 
 if (item) 
 { 
 if(!loaded.contains(key)) 
 { 
  item.setHref(template); 
  item.refresh(); 
  loaded.add(key,template); 
 } 
  
 item.domNode.style.display ="block"; 
 } 
} 
 
/** 
 * Load Default page 
 */ 
dojo.addOnLoad(function loadDefault() 
{ 
 console.debug("Loading initial state"); 
 showItem('productList','product/product.html'); 
});

上一页  1 2 3 4  下一页

Tags:改善 Dojo 应用程序

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接