前端禁用 页面复制粘贴

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

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

事件监听器的工作原理

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

addEventListener() 方法允许我们为指定的事件类型添加一个监听器。这里,我们为 copy 事件添加了监听器,这意味着当用户尝试执行复制操作时,这个函数会被调用。

event.preventDefault() 是关键的部分,它告诉浏览器不要执行 copy 事件的默认行为。由于浏览器的默认行为是将选定的文本内容复制到剪贴板,所以 preventDefault() 可以阻止这一过程。

这种方法不仅可以应用于整个文档,也可以应用于特定的元素。如果我们只希望禁用某些特定部分的复制功能,而不是整个页面的内容,那么可以为特定元素添加 copy 事件监听器。例如:

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

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

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

3、示例

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

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

// 提供替代的解决方案
document.querySelector('#request-content').addEventListener('click', function () {
    alert(`您可以通过填写申请表来获得此内容的复制权限。`);
});
相关推荐
ℋᙚᵐⁱᒻᵉ鲸落1 小时前
移动端滑动手势冲突:overflow: auto导致外层横向滑动失效
前端·javascript·css·vue.js·html
默_笙2 小时前
🎃 前端学了 Next.js,后端该学啥?NestJS 就是 Node 版的蜜雪冰城
前端·javascript
前端snow3 小时前
ai agent --- 实现 openclaw 定时间效果
前端
码云之上4 小时前
换模型之后,Chatbot 为什么要自己做 compact?
前端·agent·前端工程化
এ慕ོ冬℘゜4 小时前
navigator 导航对象 BOM制作方法
javascript
星栈4 小时前
自定义 UI-UX-Pro-Max 的 CSV 知识库,把 AI 生成的后台拉回行业该有的样子
前端·agent·weui
研☆香4 小时前
简单的图片上传 删除 预览
前端
ITresearchGuest4 小时前
我用 AI 一小时写了一个世界杯数据可视化平台|前端 VibeCoding 初体验
前端·人工智能·信息可视化
慧一居士5 小时前
Vite项目中使用Less步骤,详细使用示例
前端·css
花间相见6 小时前
【LangChain组件03】—— LangChain Agents 执行与状态:工作流程与状态管理实战
java·前端·langchain