有时自己辛苦半天做的网页,尤其是一些javascript特效,很容易被人利用查看源文件而复制。那么如何才能防止被人查看源代码呢?我们可以利用event.button特性来做到。下表是event.button属性的可能取值及含义:
0 没按键
1 按左键
2 按右键
3 按左和右键
4 按中间键
5 按左和中间键
6 按右和中间键
7 按所有的键
参照上表,我们可以在<body>和</body>之间加入如下语句:
<script type="text/javascript">
function Click(){
if (event.button!=1){alert('XXXXXXX');}
document.οnmοusedοwn=Click;
</script>
<script type="text/javascript">
//以下为禁止鼠标右键的代码,不想禁止的可以删除
<!--
if (window.Event)
document.captureEvents(Event.MOUSEUP);
function nocontextmenu()
{
event.cancelBubble = true
event.returnValue = false;
return false;
}
function norightclick(e)
{
if (window.Event)
{
if (e.which == 2 || e.which == 3)
return false;
}
else
{if (event.button == 2 || event.button == 3) {alert("
xxxxxxxxxxx"); } }
{
event.cancelBubble = true
event.returnValue = false;
return false;
}
}
document.oncontextmenu = nocontextmenu; // for IE5+
document.onmousedown = norightclick; // for all others
//-->
</script>
图片禁用鼠标右键代码
<script type="text/javascript">
var clickmessage="本站图片禁用右键!"
function disableclick(e) {
if (document.all) {
if (event.button==2||event.button==3) {
if (event.srcElement.tagName=="IMG"){
alert(clickmessage);
return false;
}
}
}
if (document.layers) {
if (e.which == 2) {
alert(clickmessage);
return false;
}
}
}
function associateimages(){
for(i=0;i<document.images.length;i++)
document.images[i].οnmοusedοwn=disableclick;
}
if (document.all)
document.οnmοusedοwn=disableclick
else if (document.layers)
associateimages()
</script>
功能:禁止右键、禁选择、禁粘贴、禁shift、禁ctrl、禁alt
<script language="JavaScript">
<!--
function key(){
//禁止Shift
if(event.shiftKey){
window.close();}
//禁止Alt
if(event.altKey){
window.close();}
//禁止Ctrl
if(event.ctrlKey){
window.close();}
return false;}
document.οnkeydοwn=key;
if (window.Event)
document.captureEvents(Event.MOUSEUP);
function nocontextmenu(){
event.cancelBubble = true
event.returnValue = false;
return false;}
function norightclick(e){
if (window.Event){
if (e.which == 2 || e.which == 3)
return false;}
else
if (event.button == 2 || event.button == 3){
event.cancelBubble = true
event.returnValue = false;
return false;}
}
//禁右键
document.oncontextmenu = nocontextmenu; // for IE5+
document.onmousedown = norightclick; // for all others
//-->
</script>
<body onselectstart="return false"; οnpaste="return false";>
如何用用javascript 禁止右键,禁止复制,禁止粘贴,做站时常会用到这些代码:
1. <body οncοntextmenu="window.event.returnValue=false" >将彻底屏蔽鼠标右键特效
<table border οncοntextmenu=return(false)><td>no</table> 可用于Table
2. <body onselectstart="return false"> 取消选取、防止复制 javascript技巧
3. οnpaste="return false" 不准粘贴技巧
4. οncοpy="return false;" oncut="return false;" 防止复制的javascirpt特效