当前位置: 代码迷 >> Web前端 >> 障蔽右键、CTRL+A、复制 代码
  详细解决方案

障蔽右键、CTRL+A、复制 代码

热度:433   发布时间:2012-07-24 17:47:58.0
屏蔽右键、CTRL+A、复制 代码

A.):
<div style="width:200px;height:200px;"  onselectstart="return false">

B.):
<script language="javascript">
document.oncontextmenu=new Function("event.returnValue=false;");
document.onselectstart=new Function("event.returnValue=false;");
</script>

C.):
 <body oncontextmenu="window.event.returnValue=false" 
onkeypress="window.event.returnValue=false" 
onkeydown="window.event.returnValue=false" 
onkeyup="window.event.returnValue=false" 
ondragstart="window.event.returnValue=false" 
onselectstart="event.returnValue=false"> 
</body> 

其他的:
<script   language="Javascript">     
   //屏蔽鼠标右键、Ctrl+N、Shift+F10、F5刷新、退格键     
   //屏蔽F1帮助     
   function   window.onhelp()     
   {     
   return   false     
   }     
   function   KeyDown()     
   {     
   //alert(event.keyCode);     
   //屏蔽   Alt+   方向键   ←   屏蔽   Alt+   方向键   →     
   if   ((window.event.altKey)&&((window.event.keyCode==37)||(window.event.keyCode==39)))     
   {     
   //alert("不准你使用ALT+方向键前进或后退网页!");     
   event.returnValue=false;     
   }     
   //屏蔽退格删除键,屏蔽   F5   刷新键,Ctrl   +   R     
   if   ((event.keyCode==116)||(event.ctrlKey   &&   event.keyCode==82))     
   {     
   event.keyCode=0;     
   event.returnValue=false;     
   }     
    
   //屏蔽   Ctrl+n     
   if   ((event.ctrlKey)&&(event.keyCode==78))     
   {     
   event.returnValue=false;     
   }     
    
   //屏蔽   shift+F10     
   if   ((event.shiftKey)&&(event.keyCode==121))     
   {     
   event.returnValue=false;     
   }     
    
   //屏蔽   shift   加鼠标左键新开一网页     
   if   (window.event.srcElement.tagName   ==   "A"   &&   window.event.shiftKey)     
   {     
   window.event.returnValue   =   false;     
   }     
    
   //屏蔽Alt+F4     
   if   ((window.event.altKey)&&(window.event.keyCode==115))     
   {     
   window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");     
   return   false;     
   }     
    
   //屏蔽Ctrl+A     
   if((event.ctrlKey)&&(event.keyCode==65))     
   {     
   return   false;     
   }     
   return   false;   
   }     
   document.onkeydown=KeyDown;   
   </script> 




别的:
1.文本框输入限制 

实现限制输入大、小写英文,数字,浮点小数,日期,中文,部分英文,部分中文等众多功能。直接加入到html代码中即可使用。

<script>
function regInput(obj, reg, inputStr)
{
var docSel = document.selection.createRange()
if (docSel.parentElement().tagName != "INPUT") return false
oSel = docSel.duplicate()
oSel.text = ""
var srcRange = obj.createTextRange()
oSel.setEndPoint("StartToStart", srcRange)
var str = oSel.text + inputStr + srcRange.text.substr(oSel.text.length)
return reg.test(str)
}
</script>

小写英文:<xmp style= "display:inline"> </xmp>
<input onkeypress = "return regInput(this, /^[a-z]*$/, String.fromCharCode(event.keyCode))"
onpaste = "return regInput(this, /^[a-z]*$/, window.clipboardData.getData('Text'))"
ondrop = "return regInput(this, /^[a-z]*$/, event.dataTransfer.getData('Text'))"
style="ime-mode:Disabled"><br>

大写英文:<xmp style= "display:inline"> </xmp>
<input onkeypress = "return regInput(this, /^[A-Z]*$/, String.fromCharCode(event.keyCode))"
onpaste = "return regInput(this, /^[A-Z]*$/, window.clipboardData.getData('Text'))"
ondrop = "return regInput(this, /^[A-Z]*$/, event.dataTransfer.getData('Text'))"
style="ime-mode:Disabled">
<br>

任意数字:<xmp style="display:inline"> </xmp>
<input onkeypress = "return regInput(this, /^[0-9]*$/, String.fromCharCode(event.keyCode))"
onpaste = "return regInput(this, /^[0-9]*$/, window.clipboardData.getData('Text'))"
ondrop = "return regInput(this, /^[0-9]*$/, event.dataTransfer.getData('Text'))"
style="ime-mode:Disabled"><br>

限2位小数:<xmp style="display:inline"> </xmp>
<input onkeypress = "return regInput(this, /^\d*\.?\d{0,2}$/, 
String.fromCharCode(event.keyCode))"
onpaste = "return regInput(this, /^\d*\.?\d{0,2}$/, 
window.clipboardData.getData('Text'))"
ondrop = "return regInput(this, /^\d*\.?\d{0,2}$/, 
event.dataTransfer.getData('Text'))"
style="ime-mode:Disabled"> 

如: 123.12<br>

日  期:<xmp style="display:inline"> </xmp>

<input onkeypress = "return regInput(this, /^\d{1,4}
([-\/](\d{1,2}([-\/](\d{1,2})?)?)?)?$/, 
String.fromCharCode(event.keyCode))"

onpaste = "return regInput(this, /^\d{1,4}([-\/](\d{1,2}
([-\/](\d{1,2})?)?)?)?$/, 
window.clipboardData.getData('Text'))"

ondrop = "return regInput(this, /^\d{1,4}([-\/](\d{1,2}
([-\/](\d{1,2})?)?)?)?$/, 
event.dataTransfer.getData('Text'))"

style="ime-mode:Disabled"> 

如: 2002-9-29<br>

任意中文:<xmp style="display:inline"> </xmp>

<input onkeypress = "return regInput(this, /^$/, 
String.fromCharCode(event.keyCode))"

onpaste = "return regInput(this, /^[\u4E00-\u9FA5]*$/, 
window.clipboardData.getData('Text'))"

ondrop = "return regInput(this, /^[\u4E00-\u9FA5]*$/, 
event.dataTransfer.getData('Text'))"><br>

部分英文:<xmp style="display:inline"> </xmp>
<input onkeypress = "return regInput(this, /^[a-e]*$/, 
String.fromCharCode(event.keyCode))"

onpaste = "return regInput(this, /^[a-e]*$/, 
window.clipboardData.getData('Text'))"

ondrop = "return regInput(this, /^[a-e]*$/, 
event.dataTransfer.getData('Text'))"

style="ime-mode:Disabled"> 

范围: a,b,c,d,e<br>

部分中文:<xmp style="display:inline"> </xmp>
<script language=javascript>

function checkChinese(oldLength, obj)
{
var oTR = window.document.selection.createRange()
var reg = /[^一二三四五六七八九十]/g
oTR.moveStart("character", -1*(obj.value.length-oldLength))
oTR.text = oTR.text.replace(reg, "")
}
</script>

<input onkeypress="return false" onkeydown=
"setTimeout('checkChinese('+this.value.length+','+this.uniqueID+')', 
1)"

onpaste = "return regInput(this, /^[一二三四五六七八九十]*$/, 
window.clipboardData.getData('Text'))"

ondrop = "return regInput(this, /^[一二三四五六七八九十]*$/,
event.dataTransfer.getData('Text'))"> 

范围: 一二三四五六七八九十<br>

2.不能展开右键,不能全选,不能复制的实现 

<body oncontextmenu="window.event.returnvalue=false" 
onkeypress="window.event.returnvalue=false" 
onkeydown="window.event.returnvalue=false" 
onkeyup="window.event.returnvalue=false" 
ondragstart="window.event.returnvalue=false" 
onselectstart="event.returnvalue=false">
... 
</body>

3.禁止页面正文内容被选取 

<body oncontextmenu="return false" ondragstart="return false" 
onselectstart ="return false" onselect="document.selection.empty()" 
oncopy="document.selection.empty()" onbeforecopy="return false"onmouseup="document.selection.empty()">

4.避免别人把网页放在框架中 

<script language=“javascript”><!--if (self!=top){top.location=self.location;}-->< /script>

5.禁示查看源代码 

<frameset> 
<frame src="你要保密的文件的URL"> 
</frameset>

6.关闭输入法 

<input style="ime-mode:disabled">

7.禁止图片下载 

在这里的最后加入: 

oncontextmenu="return false" ondragstart="return false" onselectstart="return 
false" scroll="auto"

8.禁止缓存 

在HEAD里加入: 

<meta http-equiv="Expires" CONTENT="0"> 
<meta http-equiv="Cache-Control" CONTENT="no-cache"> 
<meta http-equiv="Pragma" CONTENT="no-cache">

全正则的检测IP是否合法的函数 function checkIP2(sIPAddress)
{
     var exp=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
     var reg = sIPAddress.match(exp);
     var ErrMsg="你输入的是一个非法的IP地址段!\nIP段为::xxx.xxx.xxx.xxx(xxx为0-255)!"    
     var Msg="你输入的是一个合法的IP地址段!"    
     if(reg==null)
     {
         alert(ErrMsg);
     }
     else
     {
         alert(reg);
     }
}
 

关闭子窗口时刷新父窗口 在子窗口
<script language="javascript">
window.opener.location="父窗口页面"
window.close()
</script> 



  相关解决方案