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”,设置完成刷新即可,如图所示: