龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

提高程序运行速度 让Ext JS华而又实(1)

时间:2013-03-06 14:58来源:未知 作者:admin 点击:
分享到:
Ext JS 虽然有着华丽的界面,但是真正使用过的人才知道,它运行起来的速度是让人抓狂的,而导致速度慢的重要原因,就是JavaScript的加载。Ext JS的全部JavaScript是比较大的,一个ext-al

Ext JS虽然有着华丽的界面,但是真正使用过的人才知道,它运行起来的速度是让人抓狂的,而导致速度慢的重要原因,就是JavaScript的加载。Ext JS的全部JavaScript是比较大的,一个ext-all-debug.js就达2m多,它的压缩版也达600多k,这对于在网速不太快的时,下载JavaScript就得漫长的等待。

51CTO推荐阅读:应用最广的十大Javascript框架

其中日历任务控件,JavaScript多达四五个,每个JavaScript大小都达70多k,尽管我们采用了后加载的方式,则当用户点击我的任务功能时,才下载该JavaScript,但这样仍然很慢,因为下载的JavaScript很慢,鉴于此,在互联网上使用类似Joffice类似的程序,速度会使很多开发商不敢选用Ext JS作为开发技术。我们可以从以下几种方法来提高应用程序的运行速度:

一.前期尽量少加载JavaScript

这点在Joffice中有比较好的运用,采用的是由ScriptMgr.load方法来完成,加载完成后,其会在body中插入一个DIV,只要当前页面不被刷新,下次再访问该功能时,不需要再加载JavaScript。实例代码:

  1. view sourceprint?01 function $ImportJs(viewName,callback) {     
  2. var b = document.getElementById(viewName+'-hiden');       
  3.  
  4.  if (b != null) {       
  5.  
  6.       var view = eval('new ' + viewName + '()');       
  7.  
  8.      callback.call(this, view);       
  9.  
  10.  } else {       
  11.  
  12.       var jsArr = eval('App.importJs.' + viewName);       
  13.  
  14.      if(jsArr==undefined){       
  15.  
  16.           var view = eval('new ' + viewName + '()');       
  17.  
  18.           callback.call(this, view);       
  19.  
  20.          return ;       
  21.  
  22.      }       
  23.  
  24.       ScriptMgr.load({       
  25.  
  26.                   scripts : jsArr,       
  27.  
  28.                   callback : function() {       
  29.  
  30.                              
  31.  
  32.                      Ext.DomHelper.append(document.body,"<div id='"     
  33.  
  34.                                               + viewName       
  35.  
  36.                                               + "-hiden' style='display:none'></div>");       
  37.                       var view = eval('new ' + viewName + '()');       
  38.  
  39.                       callback.call(this, view);       
  40.  
  41.                   }       
  42.  
  43.       });       
  44.  
  45.  }  

精彩图集

赞助商链接