• 优化Dojo的Load效率

    日期:2010-04-21 | 分类:技术

         在网页性能优化原则中,有一条为“Make fewer Http request”, 其意为尽可能减少HTTP的Request请求数量。
        在Web应用中,大部分用户响应时间消耗在前端,主要是因为下载图片、样式表、JavaScript脚本、flash等文件造成的,因此减少这些资源文件 的 Request请求数将是提高网页显示效率的重点。通常我们可以采用“合并多个Script/CSS文件到一个文件中”,使用 “CSS Sprites”和“Image Map”等手段,从而达到减少HTTPRequest请求数的目的。
        本文将主要讨论如何对基于Dojo的Web应用进行JavaScript文件的加载优化。

  • Dojo中对DnD和Drop事件的捕获

    日期:2010-04-10 | 分类:技术

    对于dojo.dnd.Source对象之间的拖拽事件,如何需获取该事件并进行处理,有以下方法可实现:

    1)通过订阅"/dnd/drop"消息

    dojo.subscribe("/dnd/drop",function(source,nodes,copy,target){
         //source:代表源dojo.dnd.Source;
         //nodes:代表被拖拽的Dom节点,注意是数组;
         //copy:代表是否Copy,或Move,默认是false;
         //target:代表目的dojo.dnd.Source;


         //可根据以上参数处理该事件;
         //......

    }

     

  • 在JavaScript中通过XSLT解析XML的要点

    日期:2010-01-21 | 分类:技术

    在JavaScript中利用XSLT解析XML有两个步骤,首先是载入XML和XSL文档,其次对文档进行解析。而IE和Firefox等浏览器在处理过程中存在较大的差异,在进行跨浏览器开发过程中尤其要注意。

    1)获取XML和XSL

    function loadXMLDoc(dname){//dbname为xml或xsl文件url
        try{ //Internet Explorer
            xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
        }catch(e){
            try{ //Firefox, Mozilla, Opera, etc.  
                xmlDoc=document.implementation.createDocument("","",null);
            }catch(e) {alert(e.message)}
        }
        try{
            xmlDoc.async=false;  //采用同步方式;
            xmlDoc.load(dname);  //载入xml;
            return (xmlDoc);
        }catch(e) {alert(e.message)}
        return(null);
    }

     

  • dijit.Tree小Tip

    日期:2009-08-24 | 分类:技术

    展开所有树结点。 expandAllNode = function(treeObj){
        if (!treeObj.isExpanded) {
            treeObj.rootNode.expand();
        }
       &nb...

  • dojo1.3中实现带Checkbox的dijit.Tree

    日期:2009-06-09 | 分类:技术

    screenshoot:

    代码:http://gang613.blogbus.com/files/12445525830.rar  解压缩到dojo,dijit等同级目录.

    参考:http://www.dojoforum.com/node/14953  和 http://www.nabble.com/Tree-with-checkbox-td17651400.html   代码根据...

     

  • dijit Tree的双击事件和数据获取

    日期:2008-06-19 | 分类:技术

    关于dijit.Tree中的鼠标双击事件处理,代码如下:
    var tree = new dijit.Tree({
        model: myModel,
        openOnClick:true
       });
       tree.startup();
       dojo.connect(tree.domNode, "ondblclick", "onDblClick");

  • 在ContentPane的setUrl中,如果包含dijit的widget,且设置了id,在第二次load该url时,会报告错误:
    "Tried to register widget with id=='yourwidget' but that id is already registered"。

     

     
  • dojo 中ContentPane的问题

    日期:2008-05-15 | 分类:技术

        在dojo 0.4版本下ContentPane是定义在dojo.widget.html.ContentPane内的,也可以通过dojo.widget.ContentPane调用。升级到1.0后,发现有两个ContentPane的实现,一个是在dijit.layout.ContentPane,另一个在dojox.layout.ContentPane。其中dojox.layout.ContentPane扩展了前者。不清楚为什么分成了两部分。

    在...
  • JavaScript中的Singleton Pattern

    日期:2007-04-19 | 分类:技术

    虽然在JavaScript编程中Singleton模式不是必须的,但有时还是很有用。

     

  • 关于JavaScript调试的小tip

    日期:2007-02-28 | 分类:技术

    在JavaScript开发中采用了MS Script Debugger工具,当JS代码发生错误时,可弹出Debug窗口,定位到错误代码所在行,大大方便了JS代码的调试。而且在此基础上,可以通过在代码中增加一个简单的“debugger”关键字,更灵活的进行JS调试。