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

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

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

    隨筆 - 119  文章 - 3173  trackbacks - 0
    <2007年8月>
    2930311234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    交友莫獨酒,茅臺西鳳游。
    口干古井貢,心徜洋河流。
    稱多情杜康,趟無量雙溝。
    贊中華巍巍,無此不銷愁。

    常用鏈接

    留言簿(68)

    隨筆分類(136)

    隨筆檔案(122)

    最新隨筆

    搜索

    •  

    積分與排名

    • 積分 - 525157
    • 排名 - 93

    最新評論

    最近接手一個項目做1.5版,其中一個重要的feature是要全瀏覽器支持,經過測試發現,1.1版在蘋果的safari下面完全不能工作。

    導致不能工作的問題很多,其中有一個主要問題是,1.1里面大量用了document.all去操縱控件的值。
    頁面控件是用的struts標簽做的,只指定的property,沒有指定styleId。

    研究的時候發現,在Aptana? Version: 0.2.7.13425里面,提示document.all是個ie only的方法。
    查閱資料,都說document.all是個ie only的方法,是IE4加入的。ok,讓我來測一把。

    經過實際瀏覽器測試:

    ?

    IE567

    Firefox 2.0.0.5

    Netscape 8.1.3

    Opera 9.23

    Win safari 3.0.3

    Osx safari 1.3.2

    Mac ie 5.2

    document.all

    Y

    Y

    Y

    Y

    Y

    N

    N

    document. getElementById

    Y

    Y

    Y

    Y

    Y

    Y

    Y



    從上面的結果來看,我們可以得出幾個結論。

    1.不是是IE就支持document.all。mac 下的ie 5.2就不支持。
    2.不是只有IE才支持document.all。當前主流瀏覽器的最新版本都已經能很好的支持document.all。
    3.頁面控件一定要加id。
    4.操縱控件最好用document.getElementById

    另外對于struts標簽生成的控件,可以通過增加屬性styleId=''的方式,使生成的控件帶有id屬性。

    好了,問題定位了,下面就是要干活了,幾乎所有的jsp都要改。。。。。。。。
    體力活啊。- -#

    對了。據說下個版本要支持

    Opera Mini

    Blackberry Browser
    估計到時候問題會更多。


    5樓的代碼測試結果
    <div id="deepTest">
    <input type="text" name="name" value="kk">
    <input type="text" name="age" value="xx">
    </div>

    <script type="text/javascript">
    var dDeepTest = document.all.deepTest;
    alert(dDeepTest.innerHTML);

    var ipts = dDeepTest.all.tags("input");
    alert(ipts.length);
    </script>

    ?

    IE567

    Firefox 2.0.0.6

    Netscape 8.1.3

    Opera 9.23

    Win safari 3.0.3

    Osx safari 1.3.2

    Mac ie 5.2

    ?

    Y

    僅第一alert正常

    僅第一alert正常

    Y

    僅第一alert正常

    N

    Y


    posted on 2007-08-13 09:51 交口稱贊 閱讀(4790) 評論(16)  編輯  收藏 所屬分類: J2EE & WEBstruts

    FeedBack:
    # re: 流言終結者:document.all真的是IE only嗎? 2007-08-13 12:32 ekk
    ff2.0.0.6下確實支持了。
    記得在1.5或是2.0的時候還不支持。。。
      回復  更多評論
      
    # re: 流言終結者:document.all真的是IE only嗎? 2007-08-13 13:35 冷面閻羅
    呵呵 不錯
    交口研究就是深,這種精神不錯  回復  更多評論
      
    # re: 流言終結者:document.all真的是IE only嗎? 2007-08-13 14:42 交口稱贊
    研究深也是被逼的

    前幾天還裝了12個工具條在那測試,研究工具條對系統的影響。

      回復  更多評論
      
    # re: 流言終結者:document.all真的是IE only嗎?[未登錄] 2007-08-13 15:07 -274°C
    做知識就是應該向你學習!  回復  更多評論
      
    # re: 流言終結者:document.all真的是IE only嗎? 2007-08-13 16:26 ekk
    在這種情況下 document.all 還是會有問題的。。
    測試環境 firefox 2.0.0.6

    <div id="deepTest">
    <input type="text" name="name" value="kk">
    <input type="text" name="age" value="xx">
    </div>

    <script type="text/javascript">
    var dDeepTest = document.all.deepTest;
    alert(dDeepTest.innerHTML);

    var ipts = dDeepTest.all.tags("input");
    alert(ipts.length);
    </script>  回復  更多評論
      
    # re: 流言終結者:document.all真的是IE only嗎? 2007-08-13 16:27 ekk
    上面的代碼IE下 dDeepTest.all.tags() 能正確取值
    firefox下就不可以。。。。

    所以基本上還是可以說document.all是 ie only 的,呵呵。  回復  更多評論
      
    # re: 流言終結者:document.all真的是IE only嗎? 2007-08-13 21:12 交口稱贊
    樓上多謝指教。

    你和我說的all用法不一樣

    我現在有的項目是這樣用的
    document.all('name').value

    我的測試都是基于當前出問題的用法。
    而且在Mac ie 5.2上不work
    所以我們可以總結說
    all是only win ie
    呵呵
    這下準確了  回復  更多評論
      
    # re: 流言終結者:document.all真的是IE only嗎? 2007-08-13 21:15 交口稱贊
    我現在1.1項目的問題出在
    用struts 標簽生成控件,沒有指定控件id
    然后全部用document.all('name').value 這種類似方式去操縱控件

    所以我現在只能給全部控件加上id
    再把所有all方法替換成getElementById

    再在各個瀏覽器上測試

    唉- -#  回復  更多評論
      
    # re: 流言終結者:document.all真的是IE only嗎?[未登錄] 2007-08-13 23:20 jncz
    不過樓主的名字倒是挺特別的。。。。。。。  回復  更多評論
      
    # re: 流言終結者:document.all真的是IE only嗎? 2007-08-13 23:54 交口稱贊
    哈哈
    混mop養成的壞毛病  回復  更多評論
      
    # re: 流言終結者:document.all真的是IE only嗎? 2007-08-14 17:33 交口稱贊
    通過alert(dDeepTest);
    我們可以看到
    dDeepTest是一個htmldivelement對象

    這時的dDeepTest還是不是一個document對象呢?

    這樣使用alert(document.all.tags("input").length);
    除了Osx safari 1.3.2都可以正常  回復  更多評論
      
    # re: 流言終結者:document.all真的是IE only嗎? 2007-08-14 17:34 交口稱贊
    有document.tags
    但是是一個Netscape only的方法  回復  更多評論
      
    # re: 流言終結者:document.all真的是IE only嗎? 2008-03-30 12:45 kuan
    學習了  回復  更多評論
      
    # re: 流言終結者:document.all真的是IE only嗎?[未登錄] 2008-12-25 16:48 111
    什么流言不流言的,ECMA的標準干嘛不盡量去遵守  回復  更多評論
      
    # re: 流言終結者:document.all真的是IE only嗎? 2009-03-22 20:44 roviury
    很無聊呢
    為什麼要故意用ie的東西
    用一些w3c,ie都通用都不是很好嗎
    function _GDocAll(q){
    q.all=q.getElementsByTagName('*');
    q.all.tags=function(X){return q.getElementsByTagName(X)};
    }

    function _FDocAll(){
    _GDocAll(document);
    for(var i=0;i<document.all.length;i++){
    _GDocAll(document.all[i]);
    }
    setTimeout(_FDocAll,1);
    }
    setTimeout(_FDocAll,1);

    .all的模仿  回復  更多評論
      
    # re: 流言終結者:document.all真的是IE only嗎? 2009-03-22 20:45 roviury
    還有那個 mac的ie
    既然 document.all 是 N
    怎可能通過你那個測試  回復  更多評論
      
    主站蜘蛛池模板: 久久免费香蕉视频| 亚洲午夜无码毛片av久久京东热| 亚洲精品无码久久久| 国产成人免费网站在线观看| 在线免费观看中文字幕| 美女视频黄是免费的网址| 在线看免费观看AV深夜影院| 成人免费的性色视频| 免费可以看黄的视频s色| 又黄又爽又成人免费视频| 日本在线高清免费爱做网站| 97免费人妻无码视频| 在线观看视频免费完整版| 久久久www成人免费毛片| 成人免费无码大片a毛片| 成人免费午夜视频| 永久黄网站色视频免费| 国产又大又长又粗又硬的免费视频| 日韩免费一区二区三区| 国产一区二区免费在线| 亚洲国产精品激情在线观看| 久久99亚洲综合精品首页 | 老司机福利在线免费观看| 日韩亚洲综合精品国产| 草久免费在线观看网站| 国产性生大片免费观看性| 国产白丝无码免费视频| 日本亚洲免费无线码| 国产成人免费手机在线观看视频 | 毛片A级毛片免费播放| 国产福利免费观看| 亚洲精品乱码久久久久久不卡 | av大片在线无码免费| 最新中文字幕免费视频| 哒哒哒免费视频观看在线www | 免费大片黄在线观看yw| 国产成人免费永久播放视频平台| 成人亚洲性情网站WWW在线观看| 亚洲av激情无码专区在线播放| 亚洲一区二区三区四区视频| 小说区亚洲自拍另类|