贏在執(zhí)行

          這個世界上只有兩樣東西愈分享愈多,那就是智慧與愛。

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            17 Posts :: 11 Stories :: 13 Comments :: 0 Trackbacks
          DOJO試用手記4--dojo基礎
          來源:原創(chuàng) 作者:zxub 發(fā)布時間:2006-04-06 17:05:00  

            前面說了dojo在ajax方面的一些個東西,感覺要理解透徹還有些dojo內部的東西需要理解,所以想好好看一下dojo的東西,惡補一陣:-)
            看了會官方一些個文檔,有了些許體會。
            dojo.js被包含進來后,一些對象和函數(shù)就可以用了,在用JSEclipse編輯的時候,可以看到一些,不過是包含在dojo.js中的,官網(wǎng)說還包括boostrap文件里的,我查了下,有bootstrap1.js和bootstrap2.js,不過那些對象直接顯示不出來,估計有什么地方要設置,弄清楚后再補上來。
            可用的東東有:
            1.dojo.render對象:該對象存放了dojo運行環(huán)境的一些信息。
            dojo.render.name:根據(jù)dojo.render.name = navigator.appName,可以知道這是瀏覽器的名稱,但是直接顯示出來是空的,估計還沒有被賦值,運行

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


          我的出來的是:Microsoft Internet Explorer。
            dojo.render.os:看名字就知道與操作系統(tǒng)有關,事實確實如此。這個屬性直接打印出來是[object Object],可以知道是一個對象。查了下源代碼,發(fā)現(xiàn)這個對象有3個屬性:dojo.render.os.osx,當操作系統(tǒng)為"MacOS"取值為true;dojo.render.os.linux,當操作系統(tǒng)為"Linux"的時候為true;dojo.render.os.win,Windows系統(tǒng)取值為true。3個屬性的默認值都為false,一進dojo,則某一個屬性被賦值為true,我的Windows系統(tǒng)當然是dojo.render.os.win為true了。根據(jù)源碼,若不是這3種系統(tǒng),dojo.render.os.linux將賦值為true。
            dojo.render.ver,官網(wǎng)上說與dojo.version一樣,但我一打印發(fā)現(xiàn)不對,查了下代碼,發(fā)現(xiàn)如下一段:dojo.render.ver = parseFloat(navigator.appVersion, 10),是與瀏覽器版本號有關,我這里dojo.render.ver的值為4。再找dojo.version,發(fā)現(xiàn)這么一段:

          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,宿主環(huán)境是否支持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框架.它很適合于那些想要開發(fā)胖客戶端Web應用程序但又不想轉向JSF的Struts開發(fā)人員。SWF跟Struts一樣也是構建在Jakarta commons基礎之上,但使用一個不同的request processor。SWF事件模型支持基于XmlHttpRequest的事件提交。至于dojo.render.swt,不清楚了,難道與java中的SWT有關系?這四個對象的其它屬性,在源碼中居然沒看到相應代碼??以后弄明白再回來補過。
            2.dojo.version對象。在上面已經(jīng)講過這個對象,是dojo庫文件的版本,沒啥好研究的了。
            3.dojo.hostenv對象,個人認為里面的東西很有看頭,不過要慢慢講來也太費時間了,具體可以去看源碼中那幾個hostenv_XXX.js文件,dojo.hostenv.getText函數(shù)和dojo.hostenv.println函數(shù)還有點意思,以后隨時補充吧。
            下面講一講dojo中的一些基本函數(shù)。
            

          posted on 2007-10-18 00:32 飛雪(leo) 閱讀(1439) 評論(0)  編輯  收藏 所屬分類: DOJO

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


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 南溪县| 华容县| 宜阳县| 酉阳| 潜江市| 秦皇岛市| 高州市| 达日县| 枝江市| 水富县| 长宁县| 精河县| 阿克陶县| 武安市| 阜新市| 晋中市| 岢岚县| 乌鲁木齐县| 临沧市| 遂川县| 齐齐哈尔市| 神池县| 庆城县| 中方县| 开平市| 大安市| 游戏| 连平县| 时尚| 琼海市| 台东县| 永泰县| 怀集县| 阿巴嘎旗| 宜州市| 鹤庆县| 正定县| 梅河口市| 南充市| 中山市| 乐业县|