贏在執(zhí)行

          這個(gè)世界上只有兩樣?xùn)|西愈分享愈多,那就是智慧與愛。

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

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

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


          我的出來的是:Microsoft Internet Explorer。
            dojo.render.os:看名字就知道與操作系統(tǒng)有關(guān),事實(shí)確實(shí)如此。這個(gè)屬性直接打印出來是[object Object],可以知道是一個(gè)對(duì)象。查了下源代碼,發(fā)現(xiàn)這個(gè)對(duì)象有3個(gè)屬性:dojo.render.os.osx,當(dāng)操作系統(tǒng)為"MacOS"取值為true;dojo.render.os.linux,當(dāng)操作系統(tǒng)為"Linux"的時(shí)候?yàn)閠rue;dojo.render.os.win,Windows系統(tǒng)取值為true。3個(gè)屬性的默認(rèn)值都為false,一進(jìn)dojo,則某一個(gè)屬性被賦值為true,我的Windows系統(tǒng)當(dā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)不對(duì),查了下代碼,發(fā)現(xiàn)如下一段:dojo.render.ver = parseFloat(navigator.appVersion, 10),是與瀏覽器版本號(hào)有關(guān),我這里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),上面一段的結(jié)果。
            dojo.render.html,這也是一個(gè)對(duì)象,它有好幾個(gè)屬性。dojo.render.html.capable,宿主環(huán)境是否支持html,一般來說,都是true。其它幾個(gè)是與瀏覽器類型有關(guān)的,都是布爾類型。dojo.render.html.moz,當(dāng)瀏覽器為Mozilla或者M(jìn)ozilla核心的瀏覽器(例如 Firefox)時(shí)為true; dojo.render.html.safari,使用蘋果的Safari瀏覽器的時(shí)候?yàn)閠rue,dojo.render.html.ie,平常的機(jī)器這個(gè)屬性都是true,因?yàn)槲覀兓臼怯肕icrosoft Internet Explorer,即ie瀏覽器;dojo.render.html.opera,使用Opera瀏覽器的時(shí)候?yàn)閠rue;dojo.render.html.khtml,使用KHTML瀏覽器(例如Konqueror,但是我還就真沒聽過這種KHTML瀏覽器,其它的都知道,看來還是知識(shí)不夠,唉~)的時(shí)候?yàn)閠rue。dojo.render.html對(duì)象主要是用來判斷瀏覽器類型的。我的機(jī)器上dojo.render.html.ie為true。
            其它還有dojo.render.svg,dojo.render.vml,dojo.render.swf,dojo.render.swt,由上面的資料,可以知道是對(duì)SVG、VML、SWF、SWT的支持,它們都有個(gè)capable屬性,表示是否支持該技術(shù),ie5.0以上版本支持VML,所以我的dojo.render.vml.capable為true,SVG需要裝插件,所以不支持該項(xiàng),dojo.render.svg.capable為false,dojo.render.swf.capable也為false,這里的swf不是指flash的swf,而是Simple Web Framework,Simple Web Framework (SWF)是一個(gè)基于事件的web框架.它很適合于那些想要開發(fā)胖客戶端Web應(yīng)用程序但又不想轉(zhuǎn)向JSF的Struts開發(fā)人員。SWF跟Struts一樣也是構(gòu)建在Jakarta commons基礎(chǔ)之上,但使用一個(gè)不同的request processor。SWF事件模型支持基于XmlHttpRequest的事件提交。至于dojo.render.swt,不清楚了,難道與java中的SWT有關(guān)系?這四個(gè)對(duì)象的其它屬性,在源碼中居然沒看到相應(yīng)代碼??以后弄明白再回來補(bǔ)過。
           ?。玻?span id="wmqeeuq" class="pre">dojo.version對(duì)象。在上面已經(jīng)講過這個(gè)對(duì)象,是dojo庫(kù)文件的版本,沒啥好研究的了。
           ?。常甦ojo.hostenv對(duì)象,個(gè)人認(rèn)為里面的東西很有看頭,不過要慢慢講來也太費(fèi)時(shí)間了,具體可以去看源碼中那幾個(gè)hostenv_XXX.js文件,dojo.hostenv.getText函數(shù)和dojo.hostenv.println函數(shù)還有點(diǎn)意思,以后隨時(shí)補(bǔ)充吧。
            下面講一講dojo中的一些基本函數(shù)。
            

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

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 苏尼特左旗| 武乡县| 安阳市| 临泽县| 新蔡县| 桐庐县| 东方市| 营口市| 偃师市| 象州县| 阆中市| 刚察县| 综艺| 安国市| 乌鲁木齐县| 尤溪县| 如东县| 望奎县| 无极县| 安龙县| 宾阳县| 徐汇区| 宜兰县| 邓州市| 长治市| 自治县| 炎陵县| 深州市| 达州市| 乌鲁木齐市| 宜良县| 宽甸| 江西省| 凌海市| 明星| 南岸区| 武邑县| 黑河市| 泾阳县| 乌拉特前旗| 清远市|