IE内核的浏览器可以直接通过window.clipboardData.setData("Text", txt)实现将内容拷贝至剪贴板。但是其它浏览器由于安全性问题就比较难了。
网上查了很多,解决方法多是通过引入一个flash解决,这里介绍一个:Zero Clipboard.
DEMO页面 :http://bowser.macminicolo.net/~jhuckaby/zeroclipboard/
Zero Clipboard项目主页: [url]http://code.google.com/p/zeroclipboard/ [/url]
下面是我的使用例子:
<html> <body> <a id="copyInviteLink" href="javascript:;">邀请朋友一起玩</a> -- 你每邀请一个朋友我们都会送你一拍点哦!手动拷贝邀请链接: <b>www.yoursite.com/?ic=${inviteCode }</b> </body> </html>
JS:
<script type="text/javascript" src="http://skin.yoursite.com/script/plugins/ZeroClipboard.js"></script> <script type="text/javascript"> var clip = null; $(function(){ clip = new ZeroClipboard.Client(); clip.setHandCursor( true ); clip.addEventListener('load', function (client) { }); clip.addEventListener('mouseOver', function (client) { clip.setText($("#copyInviteLink").siblings().html()); }); clip.addEventListener('complete', function (client, text) { alert("邀请链接已拷贝至剪贴板,赶紧去分享给好朋友吧^O^!"); }); clip.glue('copyInviteLink'); }); </script>
附件是所需要引入的一个JS和一个SWF文件。