免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2365 | 回复: 0
打印 上一主题 下一主题

做个广告.. [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-12 03:39 |只看该作者 |倒序浏览

  1. Util = new UtilTools();
  2.        
  3. /**
  4. * 本代码可随意使用,但须保留下面的网址.
  5. * WebSite:                [url]www.1x.cn[/url]
  6. */
  7.        
  8. function UtilTools()
  9.   {
  10.           //取元素
  11.           this.gE = function (el)
  12.           {
  13.                   if(typeof el == 'string')
  14.                           return document.getElementById(el);
  15.                   else
  16.                           return el;
  17.           }
  18.          
  19.           //取嵌套页面的元素
  20.           this.gFE = function (win,el)
  21.           {
  22.                   try{
  23.                           if(typeof el == 'string')
  24.                                   return document.getElementById(win).contentWindow.document.getElementById(el);
  25.                           else
  26.                                   return document.getElementById(win).contentWindow.document.el;
  27.                   }catch(e){throw e;}
  28.           }
  29.          
  30.           //判断浏览器
  31.           this.isIE = function ()
  32.           {
  33.                   //Detect:BrowserDetector.js
  34.                   //google.com
  35.                   return Detect.IE();
  36.           }
  37.          
  38.           //取页面被选中部分
  39.           this.gR = function (el)
  40.           {
  41.                   try{
  42.                           if(typeof el == 'undefined' && !isIE())
  43.                                   return document.getSelection();
  44.                           if(this.isIE())
  45.                                   if(window.getSelection) return window.getSelection();
  46.                                   else if(document.getSelection) return document.getSelection();
  47.                                   else if(document.selection) return document.selection.createRange().text;
  48.                                   else return;
  49.                           else
  50.                                   el = this.gE(el);
  51.                                   return el.value.substr(el.selectionStart,el.selectionEnd - el.selectionStart);
  52.                   }catch(e){throw e;}
  53.           }
  54.          
  55.           //取嵌套页面被选中部分
  56.           this.gFR = function (frame,el)
  57.           {
  58.                   try{
  59.                           if(this.isIE())
  60.                           {
  61.                                   var win = this.gE(frame).contentWindow;
  62.                                   var doc = win.document;
  63.                                   if(win.getSelection) return win.getSelection();
  64.                                   else if(doc.getSelection) return doc.getSelection();
  65.                                   else if(doc.selection) return doc.selection.createRange().htmlText;
  66.                                   else return;
  67.                           }else{
  68.                                   if(typeof el == 'undefined')
  69.                                           return this.gE(frame).contentWindow.document.getSelection();
  70.                                   else
  71.                                           el = this.gFE(frame,el);
  72.                                           return  el.value.substr(el.selectionStart,el.selectionEnd - el.selectionStart);       
  73.                           }
  74.                   }catch(e){throw e;}
  75.           }
  76.          
  77.           //取嵌套页面的 document 内容
  78.           this.gFC = function (frame)
  79.           {
  80.                   return this.gFD(frame).doby.innerHTML;
  81.           }
  82.          
  83.           //取嵌套页面的 document 对象
  84.           this.gFD = function (frame)
  85.           {
  86.                   return this.gE(frame).contentWindow.document;
  87.           }
  88.          
  89.           //取嵌套页面的 window 对象
  90.           this.gFW = function (frame)
  91.           {
  92.                   return this.gE(frame).contentWindow;
  93.           }
  94.          
  95.           //替换嵌套页面选中部分
  96.           this.sFR = function (win,text)
  97.           {
  98.                   try{
  99.                           if(this.isIE())
  100.                           {
  101.                                   var rang = this.gFD(win).selection.createRange();
  102.                                   text = this.rH(text);
  103.                                   rang.pasteHTML(text);
  104.                                   return range;
  105.                           }else{
  106.                                   var range = this.gFW(win).getSelection().getRangeAt(0);
  107.                                   range.deleteContents();
  108.                                   var df = document.createDocumentFragment();
  109.                                   var span = document.createElement('div');
  110.                                   span.innerHTML = text;
  111.                                   df.appendChild(span.firstChild);
  112.                                   range.insertNode(df);
  113.                                   return range;
  114.                           }
  115.                   }catch(e){throw e;}
  116.           }
  117.          
  118.           this.setChild = function (pnode,cnode)
  119.           {
  120.                   pnode.appendChild(cnode);
  121.           }
  122.          
  123.           //替换当前页面选中元素内容
  124.           this.sR = function (el,text)
  125.           {
  126.                   try{
  127.                           if(this.isIE())
  128.                           {
  129.                                   var s = this.gR(el);
  130.                                   var exp = new RegExp(s);
  131.                                   gE(el).value = this.gE(el).value.replace(exp,text);
  132.                                   return this.gE(el);
  133.                           }else{
  134.                                   var s = this.gR(el);
  135.                                   var gxp = new RegExp(s);
  136.                                   gE(el).value = this.gE(el).value.replace(exp,text);
  137.                                   return this.gE(el);
  138.                           }
  139.                   }catch(e){throw e;}
  140.           }
  141.          
  142.           //用指定 标签 环绕选中区域
  143.           this.aT = function (el,stag,etag)
  144.           {
  145.                   try{
  146.                           var r = this.gR(el);
  147.                           var s = stag + r + etag;
  148.                           this.sR(el,s);
  149.                   }catch(e){throw e;}
  150.           }
  151.          
  152.           //追加内容到选中区域前
  153.           this.aFRB = function (win,text)
  154.           {
  155.                   try{
  156.                           if(this.isIE())
  157.                           {
  158.                                   var rang = this.gFD(win).selection.createRange();
  159.                                   var r = this.gFR(win);
  160.                                   text = this.rH(text);
  161.                                   rang.pasteHTML(text + r);
  162.                                   return range;
  163.                           }else{
  164.                                   var range = this.gFW(win).getSelection().getRangeAt(0);
  165.                                   var df = document.createDocumentFragment();
  166.                                   var span = document.createElement('div');
  167.                                   span.innerHTML = text;
  168.                                   df.appendChild(span.firstChild);
  169.                                   range.insertNode(df);
  170.                                   span = null;
  171.                                   df = null;
  172.                                   return range;
  173.                           }
  174.                   }catch(e){throw e;}
  175.           }
  176.          
  177.           //代码补全,只补闭标签,IE 下补全自定义标签需要 xmlns
  178.           // <html xmlns:onex>
  179.           // <onex:notice></onex:notice>,<onex:warn></onex:warn>
  180.           this.rH = function (text)
  181.           {
  182.                   var d = document.createElement('div');
  183.                   d.innerHTML = text;
  184.                 return d.innerHTML;
  185.           }
  186. }

复制代码

[ 本帖最后由 carset 于 2008-1-12 14:43 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP