实现网页禁止复制剪切功能

为了保护页面内容,或者是诱导用户注册,产品需要实现禁止用户复制剪切页面内容的操作,或者是登录之后才允许进行复制剪切操作。

本篇文章教你如何通过 JS、CSS 和 HTML 来禁止用户在页面进行复制剪切操作。

通过 JavaScript 实现

我们可以通过 JS 代码来禁用网页的复制事件、剪切事件、选择内容事件甚至是右键菜单事件。

// 禁止右键菜单
document.oncontextmenu = function(){ return false; };
// 禁止文字选择
document.onselectstart = function(){ return false; };
// 禁止复制
document.oncopy = function(){ return false; };
// 禁止剪切
document.oncut = function(){ return false; };

通过 HTML 实现

除了上面提到的方法,我们也可以通过设置标签属性的方式直接禁用页面复制剪切操作:

<body oncopy="return false" oncut="return false;" onselectstart="return false" oncontextmenu="return false">
<!--……-->
</body>

该方法本质上与 JS 实现方式相同。

通过以下 JS 代码可以恢复页面复制、剪切及内容选中功能:

document.body.oncopy = null;
document.body.oncut = null;
document.body.onselectstart = null;
document.body.oncontextmenu = null;

通过 CSS 实现

我们也可以通过 CSS 样式,禁止页面内容被选中,从而达到限制复制操作的目的:

body {
  -moz-user-select:none; /* Firefox私有属性 */
  -webkit-user-select:none; /* WebKit内核私有属性 */
  -ms-user-select:none; /* IE私有属性(IE10及以后) */
  -khtml-user-select:none; /* KHTML内核私有属性 */
  -o-user-select:none; /* Opera私有属性 */
  user-select:none; /* CSS3属性 */
}

恢复页面内容选中功能,需要通过 JS 代码进行实现:

document.body.style.webkitUserSelect = 'auto'; // Firefox
document.body.style.userSelect = 'auto'; // Chrome
//......

作者:LvLin
公众号:玩点前端
个人微信:LvLin_60

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值