JavaScript中clipboardData对象用法详解

作者:拾光

时间:2026-10-29

浏览:422

本文详细介绍JavaScript中clipboardData对象的用法,包括如何设置、读取和清空剪贴板文本。通过oncopy和onpaste事件实现禁止复制和粘贴功能,并在复制时动态添加来源信息。示例代码展示了具体实现方式,适用于网页内容保护及自定义复制行为。

文章目录

clipboardData对象基础用法

本文通过具体实例,详细解析了JavaScript中clipboardData对象的使用方法,旨在为读者提供实用的参考与指导。

clipboardData对象用于操作网页剪贴板,目前仅支持设置Text类型,即只能处理文本复制。主要方法包括:clearData("Text")用于清空剪贴板内容;getData("Text")用于读取剪贴板中的文本值;setData("Text", val)用于将指定文本写入剪贴板。

利用oncopy事件禁止复制

当用户执行复制操作时,body元素的oncopy事件会被触发。若在该事件中直接返回false,即可禁止网页文本的复制。例如:<body oncopy="alert('禁止复制!');return false;">。此外,许多HTML元素也支持oncopy和onpaste事件,可用于更精细的交互控制。

复制文本到剪贴板示例

本节演示如何将指定文本复制到剪贴板。


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <title></title>
 <script type="text/javascript">
 function CopyLinkAddress() {
  clipboardData.setData("Text", "请复制网址到您的QQ:" + location.href);
  alert("复制成功!");
 }
 </script>
</head>
<body>
 <input type="button" value="复制网址" onclick="CopyLinkAddress()" />
</body>
</html>

禁止复制与粘贴操作

接着介绍如何禁止复制和粘贴操作,以保护网页内容不被轻易抓取。


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <title></title>
 <script type="text/javascript">
 function CopyLinkAddress() {
  clipboardData.setData("Text", "请复制网址到您的QQ:" + location.href);
  alert("复制成功!");
 }
 </script>
</head>
<!--<body oncopy="alert('禁止复制');return false;">-->
<body>
 <input type="button" value="复制网址" onclick="CopyLinkAddress()" />
 测试复制的文本<br />
 手机号码1:<input type="text" /><br />
 手机号码2:<input type="text" 
 onpaste="alert('禁止粘贴,必须手工录入!');return false;" />
</body>
</html>

复制时动态添加来源信息

最后,展示在复制过程中如何动态添加来源信息,以标识内容出处。


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <title></title>
 <script type="text/javascript">
 function ModifyCopyData() {
  clipboardData.setData('Text',clipboardData.getData('Text') +
   '\r\n来自Pigeon网站' + location.href);
 }
 </script>
</head>
<!--不能直接在oncopy中调用ModifyCopyData函数
 需设定定时器,0.1秒后执行,这样就不再oncopy的执行调用堆栈上了
-->
<body oncopy="setTimeout('ModifyCopyData()',100)">
 本站:www.jb51.net
</body>
</html>

希望本文所述内容对大家的C#程序设计有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章