JavaScript禁止复制与粘贴的实现代码

网站为了保护版权(如小说类、图片类),禁止用户执行这些操作,这样就可以防止用户将正在浏览的文本,通过复制、粘贴的方式进行传播了。

方法1

oncopy事件:

定义和用法

oncopy 事件在用户拷贝元素上的内容时触发。

提示: oncopy 事件在用户拷贝元素时也会触发,例如, 拷贝 元素。

提示: oncopy 事件通常用于 type=“text” 的 元素。

提示: 有三种方式可以拷贝元素和内容:

按下 CTRL + C

在你的浏览器的 Edit(编辑) 菜单中选择 “Copy(复制)”

邮件鼠标按钮,在上下文菜单中选择 “Copy(复制)” 命令。

浏览器支持
001

语法

HTML中:

<element oncopy="myScript">

JavaScript中:

object.oncopy = function(){
 //操作 
  myScript 
}

JavaScript中,使用addEventListener()方法:

object.addEventListener('copy',myScript);
//IE8及更早的IE版本不支持addEventListener()方法

方法2

onpaste事件:

定义和用法

onpaste 事件在用户向元素中粘贴文本时触发。

注意: 虽然使用的 HTML 元素都支持 onpaste 事件,但实际上并非支持所有元素,例如

元素, 除非设置了 contenteditable 为 “true” (查看下文的更多实例)。

提示: onpaste 事件通常用于 type=“text” 的 元素。

提示: 有三种方式可以在元素中粘贴内容:

•按下 CTRL + V
•从浏览器的编辑菜单中选择 “Paste(粘贴)”
•右击鼠标按钮在上下文菜单中选择 “Paste(粘贴)” 命令。

浏览器支持
002

语法
HTML中:

<element onpaste="myScript">

JavaScript中:

object.onpaste = function(){
 //操作
 myScript; 
}

JavaScript总,使用addEventListener()方法:

object.addEventListener('paste',myScript);
//Internet Explorer 8 及更早 IE 版本不支持 addEventListener() 方法。

实现原理:

执行复制与粘贴事件,并在事件中返回false。
JavaScript代码:

var bodyMain = document.getElementById('bodyMain' );
         
         //禁止复制
         bodyMain.oncopy = function(){
           return false;
        }
         //禁止粘贴
         bodyMain.onpaste = function(){
           return false;
}

方法3

1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键,其实是禁止快捷菜单,因为不光右键可以弹出这个菜单,键盘上空格键右边的windows键也可以激活这个快捷菜单 <table border oncontextmenu=return(false)><td>no</table> 可用于Table
2. <body onselectstart="return false"> 禁止选取、防止复制
3. onpaste="return false" 禁止粘贴
4. oncopy="return false;" oncut="return false;" 禁止复制和剪切
5. <input style="ime-mode:disabled"> 关闭输入法

 

event.button属性的可能取值及含义:
0 没按键
1 按左键
2 按右键
3 按左和右键
4 按中间键
5 按左和中间键
6 按右和中间键
7 按所有的键
参照上表,我们可以在和之间加入如下语句:

这样在浏览网页时除单击鼠标左键外,其他任何形式的鼠标点击或组合点击,都将出现“版权所有”的提示框,从而避免被人查看源文件代码。

注意:把body改为如下代码:,其中Value中的V一定要大写

发布了20 篇原创文章 · 获赞 1 · 访问量 495

猜你喜欢

转载自blog.csdn.net/sunny_day_day/article/details/105631140
今日推荐