zoukankan      html  css  js  c++  java
  • DOJO试用手记4dojo基础【原创】

      前面说了dojo在ajax方面的一些个东西,感觉要理解透彻还有些dojo内部的东西需要理解,所以想好好看一下dojo的东西,恶补一阵:-)
      看了会官方一些个文档,有了些许体会。
      dojo.js被包含进来后,一些对象和函数就可以用了,在用JSEclipse编辑的时候,可以看到一些,不过是包含在dojo.js中的,官网说还包括boostrap文件里的,我查了下,有bootstrap1.js和bootstrap2.js,不过那些对象直接显示不出来,估计有什么地方要设置,弄清楚后再补上来。
      可用的东东有:
      1.dojo.render对象:该对象存放了dojo运行环境的一些信息。
      dojo.render.name:根据dojo.render.name = navigator.appName,可以知道这是浏览器的名称,但是直接显示出来是空的,估计还没有被赋值,运行

    1 dojo.render.name = navigator.appName;
    2 alert(dojo.render.name);


    我的出来的是:Microsoft Internet Explorer。
      dojo.render.os:看名字就知道与操作系统有关,事实确实如此。这个属性直接打印出来是[object Object],可以知道是一个对象。查了下源代码,发现这个对象有3个属性:dojo.render.os.osx,当操作系统为"MacOS"取值为true;dojo.render.os.linux,当操作系统为"Linux"的时候为true;dojo.render.os.win,Windows系统取值为true。3个属性的默认值都为false,一进dojo,则某一个属性被赋值为true,我的Windows系统当然是dojo.render.os.win为true了。根据源码,若不是这3种系统,dojo.render.os.linux将赋值为true。
      dojo.render.ver,官网上说与dojo.version一样,但我一打印发现不对,查了下代码,发现如下一段:dojo.render.ver = parseFloat(navigator.appVersion, 10),是与浏览器版本号有关,我这里dojo.render.ver的值为4。再找dojo.version,发现这么一段:

    dojo.version = {
        major: 
    0, minor: 2, patch: 2, flag: "",
        revision: Number(
    "$Rev: 2836 $".match(/[0-9]+/)[0]),
        toString: 
    function() {
            
    with (dojo.version) {
                
    return major + "." + minor + "." + patch + flag + " (" + revision + ")";
            }
        }
    };


    将dojo.version打印一下,是0.2.2(2836),上面一段的结果。
      dojo.render.html,这也是一个对象,它有好几个属性。dojo.render.html.capable,宿主环境是否支持html,一般来说,都是true。其它几个是与浏览器类型有关的,都是布尔类型。dojo.render.html.moz,当浏览器为Mozilla或者Mozilla核心的浏览器(例如 Firefox)时为true; dojo.render.html.safari,使用苹果的Safari浏览器的时候为true,dojo.render.html.ie,平常的机器这个属性都是true,因为我们基本是用Microsoft Internet Explorer,即ie浏览器;dojo.render.html.opera,使用Opera浏览器的时候为true;dojo.render.html.khtml,使用KHTML浏览器(例如Konqueror,但是我还就真没听过这种KHTML浏览器,其它的都知道,看来还是知识不够,唉~)的时候为true。dojo.render.html对象主要是用来判断浏览器类型的。我的机器上dojo.render.html.ie为true。
      其它还有dojo.render.svg,dojo.render.vmldojo.render.swf,dojo.render.swt,由上面的资料,可以知道是对SVG、VML、SWF、SWT的支持,它们都有个capable属性,表示是否支持该技术,ie5.0以上版本支持VML,所以我的dojo.render.vml.capable为true,SVG需要装插件,所以不支持该项,dojo.render.svg.capable为false,dojo.render.swf.capable也为false,这里的swf不是指flash的swf,而是Simple Web Framework,Simple Web Framework (SWF)是一个基于事件的web框架.它很适合于那些想要开发胖客户端Web应用程序但又不想转向JSF的Struts开发人员。SWF跟Struts一样也是构建在Jakarta commons基础之上,但使用一个不同的request processor。SWF事件模型支持基于XmlHttpRequest的事件提交。至于dojo.render.swt,不清楚了,难道与java中的SWT有关系?这四个对象的其它属性,在源码中居然没看到相应代码??以后弄明白再回来补过。
      2.dojo.version对象。在上面已经讲过这个对象,是dojo库文件的版本,没啥好研究的了。
      3.dojo.hostenv对象,个人认为里面的东西很有看头,不过要慢慢讲来也太费时间了,具体可以去看源码中那几个hostenv_XXX.js文件,dojo.hostenv.getText函数和dojo.hostenv.println函数还有点意思,以后随时补充吧。
      下面讲一讲dojo中的一些基本函数。
      
      待续。。。

  • 相关阅读:
    POJ 3041 Asteroids 最小点覆盖 == 二分图的最大匹配
    POJ 3083 Children of the Candy Corn bfs和dfs
    POJ 2049 Finding Nemo bfs 建图很难。。
    POJ 2513 Colored Sticks 字典树、并查集、欧拉通路
    POJ 1013 Counterfeit Dollar 集合上的位运算
    POJ 2965 The Pilots Brothers' refrigerator 位运算枚举
    无聊拿socket写的100以内的加法考试。。。
    POJ 1753 Flip Game
    初学socket,c语言写的简单局域网聊天
    汇编语言 复习 第十一章 标志寄存器
  • 原文地址:https://www.cnblogs.com/zxub/p/368511.html
Copyright © 2011-2022 走看看