前记:本来原生的JS是有提供一个函数来实现这个功能(window.clipboardData),但是很遗憾,这个函数仅仅支持IE和FF浏览器,所以基本用处不大。下边介绍的是一个第三方插件库(ZeroClipboard.js)。
ZeroClipboard.js在Git上的地址为:https://github.com/zeroclipboard/zeroclipboard
注意:此js库不支持兼容手机端(包括Android、IOS),仅支持PC端浏览器。
第一步:将插件库引入到工程中。
把Git上的dist目录copy到自己的目录中(其实只需要ZeroClipboard.js和ZeroClipboard.swf就OK~)
脚本文件引入:
<script src="https://www.jb51.net/ZeroClipboard.js"></script>
第二步:初始化插件库。
var clip = new ZeroClipboard( document.getElementById("d_clip_button"), { moviePath: "ZeroClipboard.swf" } );
第三步:上代码。
<!DOCTYPE html> <html> <head> <title>Zero Clipboard Test</title> <meta charset="utf-8"> </head> <body> <!-- 说明: 1.data-clipboard-target 输入要复制的对象的ID --> <button data-clipboard-target="fe_text"><b>复制到剪贴板</b></button> <br/> <textarea cols="50" rows="3">输入需要复制的内容</textarea> </body> </html> <script type="text/javascript" src="https://www.jb51.net/ZeroClipboard.js"></script> <script type="text/javascript"> //初始化复制对象 var clip = new ZeroClipboard( document.getElementById("d_clip_button"), { moviePath: "ZeroClipboard.swf" } ); //复制内容到剪贴板成功后的操作 clip.on( 'complete', function(client, args) { alert("复制成功,复制内容为:"+ args.text); } ); </script>
以上示例代码注释中已经对Zero Clipboard的功能进行了介绍,需要了解更多的功能请到https://github.com/zeroclipboard/ZeroClipboard
注意:运行环境必须在服务器环境下,否则看不到效果!