本文介绍利用 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页"错误。