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

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

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

    super

    DOJO.widget的性能問題

    對DOJO基本上算是文盲,只是項目中需要一些特效頁面,在網上找了找,感覺DOJO做的不錯,就拿過來用了,不過感覺性能很不好,頁面刷新明顯遲鈍

    ???我的頁面上大概有10幾個DOJO,刷一次頁面僅僅因為DOJO的widget的初始化的問題就要5-6秒鐘,讀了一下DOJO的代碼,只要的時間都花費在dojo.hostenv.makeWidgets這個方法中,本人的js水平比較低,基本上改不了DOJO的代碼,不過在這個方法中卻找到了一個稍微提高些性能的辦法,這就是 djConfig.searchIds的使用。

    dojo.hostenv.makeWidgets = function(){
    ?// you can put searchIds in djConfig and dojo.hostenv at the moment
    ?// we should probably eventually move to one or the other
    ?var sids = [];
    ?if(djConfig.searchIds && djConfig.searchIds.length > 0) {
    ??sids = sids.concat(djConfig.searchIds);
    ?}
    ?if(dojo.hostenv.searchIds && dojo.hostenv.searchIds.length > 0) {
    ??sids = sids.concat(dojo.hostenv.searchIds);
    ?}

    ?if((djConfig.parseWidgets)||(sids.length > 0)){
    ??if(dojo.evalObjPath("dojo.widget.Parse")){
    ???// we must do this on a delay to avoid:
    ???//?http://www.shaftek.org/blog/archives/000212.html
    ???// IE is such a tremendous peice of shit.
    ????var parser = new dojo.xml.Parse();
    ????if(sids.length > 0){
    ?????for(var x=0; x<sids.length; x++){
    ??????var tmpNode = document.getElementById(sids[x]);
    ??????if(!tmpNode){ continue; }
    ??????var frag = parser.parseElement(tmpNode, null, true);
    ??????dojo.widget.getParser().createComponents(frag);
    ?????}
    ????}else if(djConfig.parseWidgets){
    ?????var frag? = parser.parseElement(document.getElementsByTagName("body")[0] || document.body, null, true);
    ?????dojo.widget.getParser().createComponents(frag);
    ????}
    ??}
    ?}
    }

    具體使用方法就是在自己的頁面上把所有的dojo的widget都要定義ID,類似這樣

    <input id="queryStr_0" name="queryStr_0" dojoType="ComboBox" style="width:280px;" autocomplete="false" >


    然后加上這樣一段js
    <script language=javascript>
    ?djConfig.searchIds=['queryStr_0','queryStr_1','queryStr_2'];
    </script>
    這里的'queryStr_0'之類的就是你的widget的ID,這樣對于我的10幾個widget的頁面,速度基本上會快上1-2倍。


    posted on 2006-12-12 17:46 王衛華 閱讀(1423) 評論(1)  編輯  收藏

    Feedback

    # re: DOJO.widget的性能問題 2007-07-04 17:49 匿名

    其實并不是遲鈍,而是,當dojo第一次加載的時候在渲染它的信息,然后把一些數據緩存,當你再次訪問的時候速度就會好一些  回復  更多評論   



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


    網站導航:
     
    主站蜘蛛池模板: 中文字幕亚洲一区二区三区| 成年丰满熟妇午夜免费视频| 亚洲精品视频在线看| 亚洲av无码成人影院一区| 大学生一级毛片免费看| 亚洲偷偷自拍高清| 中国xxxxx高清免费看视频| 亚洲美女视频免费| 亚洲黄色免费电影| 亚洲国产美女精品久久| 国产h肉在线视频免费观看| 亚洲香蕉久久一区二区| 毛片免费视频观看| 亚洲GV天堂GV无码男同| 国产jizzjizz免费看jizz| 黄色免费网址大全| 亚洲女久久久噜噜噜熟女| 久章草在线精品视频免费观看| 亚洲色偷偷偷网站色偷一区| 97在线线免费观看视频在线观看| 亚洲爆乳成av人在线视菜奈实 | 成人久久免费网站| 亚洲人成电影在线天堂| 男女超爽刺激视频免费播放| 亚洲第一综合天堂另类专| 亚洲А∨精品天堂在线| 久爱免费观看在线网站| 亚洲综合无码无在线观看| 亚洲A∨午夜成人片精品网站 | 18女人腿打开无遮掩免费| 国产v亚洲v天堂a无| 男人的天堂亚洲一区二区三区 | 永久在线观看免费视频| 亚洲精品福利在线观看| 日韩电影免费在线观看视频| 又硬又粗又长又爽免费看| 无码乱人伦一区二区亚洲一| 欧美最猛性xxxxx免费| 一本到卡二卡三卡免费高| 亚洲精品在线视频观看| 亚洲国产免费综合|