防止代码复制
2008-02-23 07:52:38来源:互联网 阅读 ()
//插入 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 = / /gi;
code = code.replace(re, " ");
// Replace & characters.
re = /&/gi;
code = code.replace(re, "&");
// Replace < characters.
re = /</gi;
code = code.replace(re, "<");
// Replace > characters.
re = />/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><%
<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>"scripting.filesystemobject"</SPAN>)
<SPAN class=vb-statement>dim</SPAN> asplines, jslines, aspbytes, jsbytes, aspwords
iterate(server.mappath(<SPAN class=vb-string>"/web_api"</SPAN>))
response.write <SPAN class=vb-string>"ASP:
Total Lines Coded: "</SPAN> & asplines & <SPAN class=vb-string>"
Total Bytes: "</SPAN> & aspbytes & <SPAN class=vb-string>"
Total Individual Elements (words) Typed: "</SPAN> & aspwords
response.write <SPAN class=vb-string>"
JScript:
Total Lines Coded: "</SPAN> & jslines & <SPAN class=vb-string>"
"</SPAN> & <SPAN class=vb-string>"Total Bytes: "</SPAN> & 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>" "</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>".asp"</SPAN> <SPAN class=vb-keyword>or</SPAN> right(file.name,<SPAN class=vb-literal>3</SPAN>)=<SPAN class=vb-string>".js"</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>""</SPAN> <SPAN class=vb-statement>else</SPAN> txt = ts.readall
ts.close
txt = rx.replace(txt,<SPAN class=vb-string>" "</SPAN>)
txt = replace(txt,vbcrlf&vbcrlf,vbcrlf)
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash