E库技术学院--您的网络技术顾问! 网站首页素材图片库设计原稿网页模板网站赏析下载中心明星图库E库论坛  
E库技术学院
设为首页
加入收藏
我要投稿
E库首页学院首页 ┊ 图形图象 ┊ 网页设计 ┊ 网络编程 ┊ 数据库 ┊ 服务器 ┊ 建站技术 ┊ 业界新闻 ┊ 作者专栏 ┊ 常用范文 ┊ 预留栏目
  当前位置:学院首页>>网页设计教程>>网页特效教程>>防止代码复制
防止代码复制
[ 来源:E库学院 | 作者:采集小组 | 时间:2006-3-14 13:15:12 | 浏览:人次 ]
收藏到新浪ViVi收藏到365KEY收藏到我摘 ┊ 双击滚屏 单击停止

//插入 document.body.oncopy event事件中
//或者 <body>的"oncopy"属性
function copyCode()
{
 try
 {
  var range = document.selection.createRange();
  if (document.selection.type != "none")
  {
   var parent = range.parentElement();
   var parentName = parent.tagName;
   if (parentName != null)
   {
    if (parentName.toLowerCase() == "pre")
    {
     // Replace superfluous <br> tags in a <pre> block.
     var re = /<br>/gi;
     var code = range.htmlText.replace(re, "\r\n");

     // Replace non-breaking spaces.
     re = /&nbsp;/gi;
     code = code.replace(re, " ");

     // Replace & characters.
     re = /&amp;/gi;
     code = code.replace(re, "&");

     // Replace < characters.
     re = /&lt;/gi;
     code = code.replace(re, "<");

     // Replace > characters.
     re = /&gt;/gi;
     code = code.replace(re, ">");
     
     // CJM: Remove colorization
     re = /<\/?span([^>])*>/gi;
     code = code.replace(re, "");

     if (code != null)
     {
      window.event.returnValue = false;
      window.clipboardData.setData("Text", code);
     }
    }
   }
  }
 }
 catch(e) {}
}

<HTML>
<HEAD>
<TITLE>防复制 </TITLE>
<SCRIPT language=javascript src="/blog/js/oncopy.js">
</SCRIPT>

<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="feiyun">
<META NAME="Keywords" CONTENT="nocopy">
<META NAME="Description" CONTENT="no copy">
</HEAD>
<BODY  oncopy="return copyCode();" >
<FONT COLOR="#FF0000">防代码复制,不信你试试(只防止代码复制,其他可以复制)</FONT><BR>
<TABLE>
<TR>
 <TD>aa</TD>
 <TD>bb</TD>
 <TD>cc</TD>
</TR>
<TR>
 <TD>dd</TD>
 <TD>ee</TD>
 <TD>ff</TD>
</TR>
</TABLE>

<PRE lang=vbscript>&lt;%
<SPAN class=vb-statement>option</SPAN> <SPAN class=vb-statement>explicit</SPAN>
<SPAN class=vb-statement>dim</SPAN> fso
<SPAN class=vb-statement>set</SPAN> fso = createobject(<SPAN class=vb-string>&quot;scripting.filesystemobject&quot;</SPAN>)
<SPAN class=vb-statement>dim</SPAN> asplines, jslines, aspbytes, jsbytes, aspwords
iterate(server.mappath(<SPAN class=vb-string>&quot;/web_api&quot;</SPAN>))
response.write <SPAN class=vb-string>&quot;ASP:
Total Lines Coded: &quot;</SPAN> &amp; asplines &amp; <SPAN class=vb-string>&quot;
Total Bytes: &quot;</SPAN> &amp; aspbytes &amp; <SPAN class=vb-string>&quot;
Total Individual Elements (words) Typed: &quot;</SPAN> &amp; aspwords
response.write <SPAN class=vb-string>&quot;
JScript:
Total Lines Coded: &quot;</SPAN> &amp; jslines &amp; <SPAN class=vb-string>&quot;
&quot;</SPAN> &amp; <SPAN class=vb-string>&quot;Total Bytes: &quot;</SPAN> &amp; jsbytes
<SPAN class=vb-statement>function</SPAN> iterate(path)
    <SPAN class=vb-statement>dim</SPAN> folder, folders, files, file, ts, txt, arr, f
    <SPAN class=vb-statement>set</SPAN> folder = fso.getfolder(path)
    <SPAN class=vb-statement>set</SPAN> files = folder.files
    <SPAN class=vb-statement>dim</SPAN> rx, c
    <SPAN class=vb-statement>set</SPAN> rx = <SPAN class=vb-keyword>new</SPAN> regexp
    rx.ignorecase = <SPAN class=vb-keyword>true</SPAN>
    rx.global = <SPAN class=vb-keyword>true</SPAN>
    rx.pattern = <SPAN class=vb-string>&quot;  +&quot;</SPAN>
    <SPAN class=vb-statement>for</SPAN> <SPAN class=vb-statement>each</SPAN> file in files
        <SPAN class=vb-statement>if</SPAN> right(file.name,<SPAN class=vb-literal>4</SPAN>)=<SPAN class=vb-string>&quot;.asp&quot;</SPAN> <SPAN class=vb-keyword>or</SPAN> right(file.name,<SPAN class=vb-literal>3</SPAN>)=<SPAN class=vb-string>&quot;.js&quot;</SPAN> <SPAN class=vb-statement>then</SPAN>
            <SPAN class=vb-statement>set</SPAN> ts = file.openastextstream
            <SPAN class=vb-statement>if</SPAN> ts.atendofstream <SPAN class=vb-statement>then</SPAN> txt = <SPAN class=vb-string>&quot;&quot;</SPAN> <SPAN class=vb-statement>else</SPAN> txt = ts.readall
            ts.close
            txt = rx.replace(txt,<SPAN class=vb-string>&quot; &quot;</SPAN>)
            txt = replace(txt,vbcrlf&amp;vbcrlf,vbcrlf)
            arr = split(replace(txt,vbcrlf,<SPAN class=vb-string>&quot; &quot;</SPAN>),<SPAN class=vb-string>&quot; &quot;</SPAN>)
            aspwords = aspwords + ubound(arr)
            arr = split(txt,vbcrlf)
            <SPAN class=vb-statement>if</SPAN> right(file.name,<SPAN class=vb-literal>4</SPAN>)=<SPAN class=vb-string>&quot;.asp&quot;</SPAN> <SPAN class=vb-statement>then</SPAN>
                asplines = asplines + ubound(arr)
                aspbytes = aspbytes + len(txt)
            <SPAN class=vb-statement>else</SPAN>
                jslines = jslines + ubound(arr)
                jsbytes = jsbytes + len(txt)
            <SPAN class=vb-statement>end</SPAN> <SPAN class=vb-statement>if</SPAN>
        <SPAN class=vb-statement>end</SPAN> <SPAN class=vb-statement>if</SPAN>
    <SPAN class=vb-statement>next</SPAN>
    <SPAN class=vb-statement>set</SPAN> folders = folder.subfolders
    <SPAN class=vb-statement>for</SPAN> <SPAN class=vb-statement>each</SPAN> f in folders
        iterate f.path
    <SPAN class=vb-statement>next</SPAN>
<SPAN class=vb-statement>end</SPAN> <SPAN class=vb-statement>function</SPAN>
%&gt;</PRE>

</BODY>
</HTML>

“防止代码复制”教程到此结束==>||
 相关教程
防止代码复制
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

投稿作者: 采集小组  信息来源: E库学院 录入时间: 2006-3-14 13:15:12
投稿信箱: web#iecool.com
设为首页 - 加入收藏 - 关于我们 - 广告服务 - 版权申明 - 友情链接 - 联系方式 - 会员投稿
E库技术学院 © 2004-2005 Edu.IEcool.Com  浙ICP备05015070号