我只是不能得到这个东西. ZeroClipboard应该如何工作?为什么需要将Flash元素移动到复制的文本上?
我读过这个东西:http://code.google.com/p/zeroclipboard/wiki/Instructions
有人可以为我提供一个简短的片段,当用户点击链接时,可以将变量中的文本复制到用户剪贴板.这是甚么可能吗?我不在乎,如果它不适用于所有浏览器(例如IE6).
我正在使用jQuery.
解决方法
您链接到(
http://code.google.com/p/zeroclipboard/wiki/Instructions#Minimal_Example)的页面上给出的“最小示例”代码似乎是您想要的.我把它复制到这里,改变它来演示将文本放入变量,然后将该文本复制到剪贴板,因为这是你感兴趣的.请注意,在现实生活中,你可能想做的是调用某些函数中的clip.setText()部分,因为您可能不知道在页面首次加载时,要复制什么文本.
<html> <body> <script type="text/javascript" src="ZeroClipboard.js"></script> <div id="d_clip_button" style="border:1px solid black; padding:20px;">Copy To Clipboard</div> <script language="JavaScript"> var clip = new ZeroClipboard.Client(); var myTextToCopy = "Hi,this is the text to copy!"; clip.setText( myTextToCopy ); clip.glue( 'd_clip_button' ); </script> </body> </html>
闪光灯元素不需要是“超过复制的文本”;它需要“粘贴”到您希望用户操纵的任何DOM元素 – 很可能是一个按钮.原因是Javascript无法访问剪贴板,因此您需要使用Flash.但Flash只能在用户的机器上进行操作,以响应用户的点击 – 所以您可以通过使HTML成为HTML元素中的隐形覆盖,“欺骗”用户点击Flash.
我会注意到,虽然复制到用户的剪贴板的具体例子可能是良性的,但这种方法使我烦恼,因为隐藏的闪存元素不会很难想像更恶意的事情.