<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    paulwong

    GZip壓縮和按需裝載提升Ext Js的性能

    ext-all.js這個文件都有500多k,在頁面中直接引用這個js文件是很不現實的,曾經在一個大的項目中使用這個js,則直接導致頁面半天出不來的后果。于是自己研究了下,目前通過下面的方法來優化提升Ext Js的性能。

    使用JSVM
    JSVM (JavaScript Virtual Machine的縮寫),一個JavaScript基礎框架,sourceforge開源項目,由萬常華(wch3116)于2003年底發起, 目前最新版本是2.05,采用的是 BSD License 授權協議。本身JSVM也提供了JSVM+Ext2的實例,看看就知道怎么在JSVM下加入ext的js庫了。
    我在項目中是這么用的:

    <script type= "text/javascript"  src= "/depporject/comjs/jsvm2/jsre.js"  classpath= "dom2.gzjs;ext2p.gzjs"  modules= "smartloader"  ></script>

    為什么擴展名是gzjs呢,這是使用了gzip壓縮js文件

    使用Gzip壓縮

    gzip壓縮后,ext js文件的大小將只有100k左右。
    只是對gzip壓縮的文件需要提供filter(Java開發),為你的應用提高解壓縮功能,filter的寫法很簡單:

        public   void  doFilter(HttpServletRequest request, 
                HttpServletResponse response, FilterChain chain) 
                 
    throws  IOException, ServletException 
                 
    for (Iterator it = headers.entrySet().iterator();it.hasNext();) 
                    Map.Entry entry 
    = (Map.Entry)it.next(); 
                    response.addHeader((String)entry.getKey(),(String)entry.getValue()); 

                }
     
                chain.doFilter(request, response); 
        }
     

         
    public   void  init(FilterConfig config)  throws  ServletException 
            String headersStr 
    = config.getInitParameter( "headers" ); 
            String[] headers 
    = headersStr.split( "," ); 
             
    for ( int  i =  0 ; i < headers.length; i++
                String[] temp 
    = headers[i].split( "=" ); 
                 
    this .headers.put(temp[ 0 ].trim(), temp[ 1 ].trim()); 
            }
     
        }
     


    web.xml配置

    < filter > 
             
    < filter-name > addHeaderFilter </ filter-name > 
             
    < filter-class >org .common.AddHeaderFilter </ filter-class > 
             
    < init-param > 
                 
    < param-name > headers </ param-name > 
                 
    < param-value > Content-Encoding = gzip </ param-value > 
             
    </ init-param > 
      </ filter > 

    通過以上兩步,整個頁面裝載速度很快了。大家可以試試。
    另外在實際開發中,并不是將ext-all.js全部在jsvm中裝載,只是將常用的ext js代碼歸到一起,由gzip壓縮,然后又jsvm裝載(即ext2p.js,p代表部分),剩下的ext js代碼由jsvm按需裝載。

    posted on 2011-04-21 23:17 paulwong 閱讀(1177) 評論(0)  編輯  收藏 所屬分類: EXTJS


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产资源免费观看| 国产亚洲精品免费视频播放 | 亚洲欧美黑人猛交群| 四虎影院永久免费观看| 久久国产精品免费一区二区三区| 亚洲韩国—中文字幕| 精品无码国产污污污免费| 三年在线观看免费观看完整版中文| 亚洲国产精品久久| 四虎影视永久免费观看| 国产好大好硬好爽免费不卡| 亚洲人成网站免费播放| 好看的电影网站亚洲一区| 好男人看视频免费2019中文| 在线观看片免费人成视频播放| 亚洲一区二区三区在线| 亚洲精品午夜无码电影网| 好吊妞视频免费视频| 特级无码毛片免费视频尤物| 亚洲s码欧洲m码吹潮| 亚洲人成在线影院| 亚洲男人av香蕉爽爽爽爽| 日韩不卡免费视频| a国产成人免费视频| 亚洲av无码专区在线观看亚| 亚洲精品白色在线发布| 国产美女亚洲精品久久久综合| 91在线视频免费看| 久久久久久久久久国产精品免费| 亚洲av成人无码网站…| 久久精品国产亚洲AV电影| 久久精品国产亚洲Aⅴ香蕉| 香蕉视频在线观看免费国产婷婷| 精品熟女少妇av免费久久| 成年女人A毛片免费视频| 国产亚洲精品仙踪林在线播放| 亚洲国产成人精品久久 | 亚洲av成人中文无码专区| 91亚洲自偷在线观看国产馆| 亚洲国产日韩在线视频| 浮力影院亚洲国产第一页|