复制网站程序-认识到严禁复制网页

这是我参加更新挑战的第六天。 详情查看:更新后挑战。

网站为了保护页面内容,或者诱导用户注册,往往需要实现严格禁止用户复制剪切页面内容复制网站程序,或者只有登录后才允许复制、剪切操作功能。我们来看看如何实现从JavaScript、CSSHTML标签属性三个方面体现网页禁止复制的效果

通过 JavaScript 实现

复制网站程序-认识到严禁复制网页

禁止网页复制最直接的方法就是重新绘制页面的复制和剪切区域。 另外,我们可以通过禁用右键菜单风暴并禁止用户选择内容来实现这一点。 相关代码如下:

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

复制网站程序-认识到严禁复制网页

通过HTML标签属性实现

除了通过JS代码实现上述方案外,还可以通过设置标签属性直接禁用页面复制和剪切操作,如下所示

<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
//......

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 网站程序 复制网站程序-认识到严禁复制网页 https://www.wkzy.net/game/201328.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务