鄧華

          BlogJava 聯系 聚合 管理
            48 Posts :: 0 Stories :: 149 Comments :: 0 Trackbacks

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

          找到一個替換的函數,用來解決這個問題?!?br />

          function  s(h) {
            h
          = h.replace( /< (\ /? )([ ^> \ ! \s] + )(. *? ) >/ gi,r);
              
          /*
              內部函數
              功能:
              a 將標簽名轉為小寫
              b 為無結束符的標簽加入 /
              c 轉換無內容屬性: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)$/)?
          "   / " : "" ;//自行添加無結束符的標簽名
              return (
          " < " +a[1]+a[2]+a[3]+t+ " > " );
            }
            h=h.replace(/<(li|p|dd)(.*?)>([\s\S]*?)(?=<\1)/mgi,r1);//修改這里,增加那些會省略閉合標簽的元素
              /*
              內部函數
              功能:
              恢復被瀏覽器自動刪除的結束符(如果是代碼不完整導致的結束符缺失可能無法恢復)
              */
            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試試吧,你肯定能找到樂趣!
            回復  更多評論
            

          # re: ie的outerhtml與xhtml不兼容的問題解決  2007-10-23 09:04 創世紀計算機
          謝謝分享  回復  更多評論
            


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


          網站導航:
           
          主站蜘蛛池模板: 洪江市| 清水县| 临颍县| 剑川县| 锦屏县| 韶山市| 乌兰县| 嵊州市| 万山特区| 朝阳县| 奉新县| 沾益县| 大方县| 亚东县| 泾源县| 彰化市| 康保县| 抚顺县| 绥芬河市| 凉城县| 出国| 芒康县| 乐至县| 固始县| 肥西县| 乌兰察布市| 嘉祥县| 松江区| 哈巴河县| 丹巴县| 杭锦旗| 乐山市| 赣榆县| 象州县| 康平县| 炉霍县| 闻喜县| 婺源县| 广丰县| 凤庆县| 阿克陶县|