当前位置: 首页 > article >正文

前端禁用 页面复制粘贴

1、实现禁用 copy 事件的代码

document.addEventListener('copy', function (event) {
    event.preventDefault(); // 阻止默认的复制行为
    alert(`复制功能已被禁用,无法复制此页面的内容。`);
});

事件监听器的工作原理
为了更好地理解这段代码的原理,我们可以更深入地分析 addEventListener() 的工作机制。

addEventListener() 方法允许我们为指定的事件类型添加一个监听器。这里,我们为 copy 事件添加了监听器,这意味着当用户尝试执行复制操作时,这个函数会被调用。
event.preventDefault() 是关键的部分,它告诉浏览器不要执行 copy 事件的默认行为。由于浏览器的默认行为是将选定的文本内容复制到剪贴板,所以 preventDefault() 可以阻止这一过程。
这种方法不仅可以应用于整个文档,也可以应用于特定的元素。如果我们只希望禁用某些特定部分的复制功能,而不是整个页面的内容,那么可以为特定元素添加 copy 事件监听器。例如:

const protectedElement = document.getElementById('protected-content');
protectedElement.addEventListener('copy', function (event) {
    event.preventDefault();
    alert(`此内容受保护,无法复制。`);
});

2、增强版 (禁用右键菜单)

document.addEventListener('contextmenu', function (event) {
    event.preventDefault();
    alert(`右键菜单已禁用。`);
});

3、示例

document.addEventListener('copy', function (event) {
    event.preventDefault();
    alert(`复制功能已被禁用,无法复制此页面的内容。如需获得内容,请联系我们。`);
});

document.addEventListener('contextmenu', function (event) {
    event.preventDefault();
    alert(`右键菜单已被禁用,感谢您的理解。`);
});

// 提供替代的解决方案
document.querySelector('#request-content').addEventListener('click', function () {
    alert(`您可以通过填写申请表来获得此内容的复制权限。`);
});

http://www.kler.cn/a/420818.html

相关文章:

  • Kibana server is not ready yet
  • 【时时三省】(C语言基础)结构体的自引用
  • 夜神模拟器+Charles+postern+Mgisk+TrustMeAlready实现抓包
  • 搭建环境-PHP简介及环境搭建教程
  • css选择当前元素前面的一个元素
  • AcWing 1015. 摘花生
  • SpringBoot 构建在线家具商城:系统设计与技术实现
  • element-ui的下拉框报错:Cannot read properties of null (reading ‘disabled‘)
  • Qt入门6——Qt窗口
  • python学习笔记13 python中的函数(下)
  • 40分钟学 Go 语言高并发:【实战课程】性能瓶颈分析与优化实战
  • 基于Matlab合成孔径雷达(SAR)回波信号建模与多指标质量评估
  • nodejs建立TCP服务器端和TCP客户端之间的连接
  • VisionPro、Mac、IPad、如何连接Windows 文件互传
  • YOLOv8-ultralytics-8.2.103部分代码阅读笔记-loss.py
  • 深入探索 CnosDB 可观测性最佳实践:Metrics
  • 架构师:Dubbo 服务请求失败处理的实践指南
  • 蓝桥杯真题——砍竹子(C语言)
  • 如何在Spark中使用gbdt模型分布式预测
  • 中国电信张宝玉:城市数据基础设施建设运营探索与实践
  • 【前端】JavaScript 中的 this 与全局对象 window深度解析
  • diffusion model: prompt-to-prompt 深度剖析
  • 设计模式:15、生成器模式
  • TinyXML2的一些用法
  • dpwwn02靶场
  • 探讨播客的生态系统