JavaScript防止网页拷贝和保存的方法

来源:互联网 发布:linux创建命令 编辑:程序博客网 时间:2024/05/17 08:30

1、使右键和复制失效
2、使菜单"文件"-"另存为"失效
1、使右键和复制失效
2、使菜单"文件"-"另存为"失效 

1、使右键和复制失效
方法1:
在网页中加入以下代码:
<script language="javascript">
document.oncontextmenu=new Function("event.returnValue=false");
document.onselectstart=new Function("event.returnValue=false");
</script> 
方法2:
在<body>中加入以下代码:
<body oncontextmenu="return false" onselectstart="return false">

<body oncontextmenu="event.returnValue=false" onselectstart="event.returnValue=false">
实质上,方法2与方法1是一样的。
方法3:
如果只限制复制,可以在<body>加入以下代码:
<body oncopy="alert('对不起,禁止复制!');return false;">

2、使菜单"文件"-"另存为"失效
如果只是禁止了右键和选择复制,别人还可以通过浏览器菜单中的"文件"-"另存为"拷贝文件。为了使拷贝失效,可以在<body>与</body>之间加入以下代码:
<noscript>
<iframe scr="*.htm"></iframe>
</noscript>
这样,用户在另存网页时,就会出现"无法保存Web页"的错误。

  为了防止内容被拷贝,通常的办法是屏蔽掉鼠标右键,不让查看源文件,但这也有很多办法突破,如使用Netscape浏览器就不会有这种现象,而且让人觉得很不方便,因为鼠标右键可以用来做其他很多事情,如保存图片啊等等。因此这里再介绍一个更好的办法,不用屏蔽鼠标右键,而是对屏蔽掉鼠标选择要copy 内容的功能。

  首先在页面的区加入以下代码:

<script>
function anticopy(n)
{
if(self.moveTo)
{
self.moveTo(0,-900);
for(i = n; i > 0; i--)
{
self.moveTo(0,3);
}
for(j = 8; j > 0; j--)
{
self.moveTo(0,j);
self.moveTo(j,0);
self.moveTo(0,-j);
self.moveTo(-j,0);
}
}
}
</script>
 

  然后在标签里加入函数代码,让页面加载后自动执行。

 
原创粉丝点击