JavaScript 实现网页内容复制与保存限制
本文介绍利用 JavaScript 限制网页内容复制的三种常用方法。通过重写 oncontextmenu 和 onselectstart 事件禁用右键与选区,或在 body 标签添加 oncopy 属性拦截复制行为。此外,结合 noscript 标签嵌入 iframe 可有效阻止用户通过浏览器菜单执行“另存为”操作,从而提升内容安全性。
禁用右键与复制功能
1、禁用右键与复制功能
方案1:
在网页中添加如下代码:
<script language="Javascript"> document.oncontextmenu=new Function("event.returnValue=false"); document.onselectstart=new Function("event.returnValue=false"); </script>
方案2:
在<body>标签内添加如下代码:
<body oncontextmenu="return false" onselectstart="return false"> 或 <body oncontextmenu="event.returnValue=false" onselectstart="event.returnValue=false">
实际上,方案2与方案1原理相同。
方案3:
若仅限制复制操作,可在<body>标签内添加如下代码:
<body oncopy="alert('对不起,禁止复制!');return false;">
阻止文件另存为操作
2、禁用菜单"文件"-"另存为"功能 若仅禁用右键与选择复制,用户仍可通过浏览器菜单中的"文件"-"另存为"选项保存文件。为使保存功能失效,可在<body>与</body>之间添加如下代码:
<noscript> <iframe src="*.htm"></iframe> </noscript>
此时,用户尝试另存网页时,将提示"无法保存Web页"错误。
JS语法错误会阻止加载吗?区分SyntaxError与资源加载失败
2026-11-05 16:08:46
JavaScript常见SyntaxError语法错误排查与修复方法
2026-11-05 13:58:44
JS中slice、substring和substr截取字符串的区别
2026-11-05 13:43:47
JS 转 TS 手动迁移最佳实践:从配置 tsconfig 到消除 any 类型
2026-11-05 11:53:32
为什么JS数组push后得到的是数字而不是数组?
2026-11-05 09:59:18
