鄧華

          BlogJava 聯(lián)系 聚合 管理
            48 Posts :: 0 Stories :: 149 Comments :: 0 Trackbacks

          IE用一個節(jié)點的outerHTML來獲得的代碼,與xhtml的代碼是不兼容的, 比如,標(biāo)簽名是大寫,LI標(biāo)簽沒有封口等。

          找到一個替換的函數(shù),用來解決這個問題。 

          function  s(h) {
            h
          = h.replace( /< (\ /? )([ ^> \ ! \s] + )(. *? ) >/ gi,r);
              
          /*
              內(nèi)部函數(shù)
              功能:
              a 將標(biāo)簽名轉(zhuǎn)為小寫
              b 為無結(jié)束符的標(biāo)簽加入 /
              c 轉(zhuǎn)換無內(nèi)容屬性:disabled="disabled"
              
          */

            
          function  r() {
              
          var  a = arguments;
              
          for  ( var  i = 0 ;i < a.length;i ++ )
                a[i]
          = a[i] ? a[i]:'';
              a[
          2 ] = a[ 2 ].toLowerCase();
              a[
          3 ] = a[ 3 ].replace( / ([ ^ \s = ] + )\s *= \s * ([ ^ \s' " ]+)/gi,'$1= " $ 2 " ');
              a[3]=a[3].replace(/(\S+)/gi,function(a0,a1){if (a1.indexOf('=')<0){return a1.toLowerCase()+'=
          " ' + a1.toLowerCase() + ' " '}else{return a1;}});
              var t=a[2].match(/^(br|hr|input)$/)?
          "   / " : "" ;//自行添加無結(jié)束符的標(biāo)簽名
              return (
          " < " +a[1]+a[2]+a[3]+t+ " > " );
            }
            h=h.replace(/<(li|p|dd)(.*?)>([\s\S]*?)(?=<\1)/mgi,r1);//修改這里,增加那些會省略閉合標(biāo)簽的元素
              /*
              內(nèi)部函數(shù)
              功能:
              恢復(fù)被瀏覽器自動刪除的結(jié)束符(如果是代碼不完整導(dǎo)致的結(jié)束符缺失可能無法恢復(fù))
              */
            function r1(a0,a1,a2,a3){
              var t=
          " < " +a1+a2+ " > " ;
              if (a3.match(new RegExp(
          " < \\ / " +a1, " i " )))
                return t+a3;
              return t+a3+
          " </ " +a1+ " > " ;
            }
            return h;
          }
          posted on 2006-10-08 11:06 鄧華的碎碎念 閱讀(1086) 評論(2)  編輯  收藏

          Feedback

          # re: ie的outerhtml與xhtml不兼容的問題解決  2006-10-11 10:21 123bingbing
          做程序員太乏味?來這里www.mylinux.com.cn試試吧,你肯定能找到樂趣!
            回復(fù)  更多評論
            

          # re: ie的outerhtml與xhtml不兼容的問題解決  2007-10-23 09:04 創(chuàng)世紀(jì)計算機(jī)
          謝謝分享  回復(fù)  更多評論
            


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 固阳县| 汉寿县| 临海市| 徐水县| 西青区| 泽普县| 高密市| 高陵县| 满洲里市| 潮安县| 抚宁县| 雷州市| 财经| 清流县| 合山市| 米泉市| 兰坪| 科技| 宁强县| 金塔县| 尖扎县| 梁平县| 瑞丽市| 丰顺县| 宜昌市| 厦门市| 三都| 兴义市| 山阳县| 罗江县| 绥芬河市| 新田县| 万荣县| 西吉县| 邓州市| 略阳县| 神池县| 泰州市| 梓潼县| 香港| 梁平县|