《JS实现复制内容到剪贴板功能,可兼容全部PC浏览器,不兼容手机端》

前记:原本原生的JS是有提供一个函数来实现这个功能(window.clipboardData),可是很遗憾,这个函数仅仅支持IE和FF浏览器,因此基本用处不大。下边介绍的是一个第三方插件库(ZeroClipboard.js)。javascript

 

ZeroClipboard.js在Git上的地址为:https://github.com/zeroclipboard/zeroclipboard
html

注意:此js库不支持兼容手机端(包括Android、IOS),仅支持PC端浏览器。java

 

第一步:将插件库引入到工程中。git

把Git上的dist目录copy到本身的目录中(其实只须要ZeroClipboard.js和ZeroClipboard.swf就OK~)github

 

脚本文件引入:浏览器

<script src="ZeroClipboard.js"></script>

 

第二步:初始化插件库。服务器

var clip = new ZeroClipboard( document.getElementById("d_clip_button"), { moviePath: "ZeroClipboard.swf" } );

 

第三步:上代码。函数

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <title>Zero Clipboard Test</title>
 5 <meta charset="utf-8">
 6 </head>
 7 <body>
 8 <!-- 
 9  说明: 10  1.data-clipboard-target 输入要复制的对象的ID 11 -->
12 <button id="d_clip_button" class="my_clip_button" data-clipboard-target="fe_text"><b>复制到剪贴板</b></button>
13 <br/>
14 <textarea id="fe_text" cols="50" rows="3">输入须要复制的内容</textarea>
15 </body>
16 </html>
17 <script type="text/javascript" src="ZeroClipboard.js"></script>
18 <script type="text/javascript">
19 //初始化复制对象
20 var clip = new ZeroClipboard( document.getElementById("d_clip_button"), { 21  moviePath: "ZeroClipboard.swf"
22 } ); 23 
24 //复制内容到剪贴板成功后的操做
25 clip.on( 'complete', function(client, args) { 26  alert("复制成功,复制内容为:"+ args.text); 27 } ); 28 
29 </script>

以上示例代码注释中已经对Zero Clipboard的功能进行了介绍,须要了解更多的功能请到https://github.com/zeroclipboard/ZeroClipboardspa

注意:运行环境必须在服务器环境下,不然看不到效果!插件