JS脚本实现-文章禁止复制和粘贴功能

一、使右键和复制失效

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;">

二、使菜单"文件"-"另存为"失效

如果只是禁止了右键和选择复制,别人还可以通过浏览器菜单中的"文件"-"另存为"拷贝文件。为了使拷贝失效,可以在<body></body>之间加入以下代码:

<noscript>
<iframe src="*.htm"></iframe>
</noscript>

这样,用户在另存网页时,就会出现"无法保存Web页"的错误。

另外,也可以使用event.preventDefault() 方法来阻止oncontextmenu() 还有onselectstart()

document.oncontextmenu=function(evt){
  evt.preventDefault();
}

document.onselectstart=function(evt){
 evt.preventDefault();
};

既然可以禁止,那么当然也可以启用它,将事件重新赋值即可,可以赋值为null,或字符串、布尔值都行。如:

document.oncontextmenu="";

document.onselectstart=true;

或者禁用js:打开谷歌浏览器,选择“设置” – 选择“隐私设置和安全性” – 选项“网站设置” – 选择“JavaScript” – 选择“不允许任何网站运行JavaScript”,设置完成刷新即可,如图所示:

posted @ 2022-11-10 20:13  xyztank  阅读(101)  评论(0编辑  收藏  举报