<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 閱讀(1171) 評論(0)  編輯  收藏 所屬分類: EXTJS


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


    網站導航:
     
    主站蜘蛛池模板: 一级毛片在播放免费| 日本一道本高清免费| 中文字幕亚洲日本岛国片| 亚洲AV成人一区二区三区AV| jizz中国免费| 成人免费午间影院在线观看| 亚洲精品一级无码中文字幕| 国产精品亚洲综合天堂夜夜| 成人免费毛片视频| WWW亚洲色大成网络.COM| 又爽又黄无遮挡高清免费视频| 亚洲AV色香蕉一区二区| 黄色免费在线网站| 免费v片在线观看品善网| 美女视频黄a视频全免费网站一区 美女视频黄a视频全免费网站色 | 香蕉视频免费在线播放| 免费播放春色aⅴ视频| 羞羞视频免费网站日本| 亚洲中文字幕无码日韩| 亚洲国产精品18久久久久久 | 在线a免费观看最新网站| 亚洲人成7777影视在线观看| 久久福利青草精品资源站免费| 亚洲精品国产精品乱码不卡√ | 一级毛片aa高清免费观看| 国产亚洲精品国看不卡| 美女被cao网站免费看在线看| 337p日本欧洲亚洲大胆色噜噜| 一区二区三区在线免费| 亚洲国产AV无码专区亚洲AV| 无码人妻一区二区三区免费视频| 国产亚洲精aa成人网站| 91av在线免费视频| 亚洲Av无码专区国产乱码DVD| 91高清免费国产自产拍2021| 亚洲熟伦熟女专区hd高清| 亚洲一级片免费看| caoporm超免费公开视频| 亚洲高清资源在线观看| 免费一级毛片在线播放不收费| a在线观看免费视频|