所以我想用这个插件:
http://code.google.com/p/zeroclipboard/wiki/Instructions
基本上,您可以使用Flash电影小技巧通过javascript设置剪贴板文本
我做了
ZeroClipboard.setMoviePath( '/pathtoswf/zeroclipboard.swf' );
var clip = new ZeroClipboard.Client();
clip.setHandCursor( false );
clip.setText('lalalalala');
clip.glue( 'i_container', 'i_button' );
clip.addEventListener( 'onLoad', function(){ alert('loaded baby'); } );
clip.addEventListener('onMouseDown', function(){ alert('mouse is down'); });
clip.addEventListener('onComplete', function(){ alert('text got copied to clipboard'); });
与HTML
<div id="i_container" style="position:relative">
<div id="i_button">
Something
</div>
</div>
zeroclipboard js加载得很好
因此,当我运行此命令时,它会很好地警告“已加载的婴儿”,因此闪光灯也可以很好地显示,但是当我单击“某物”文本时,它既不会警告鼠标按下,也不会警告文本已复制到剪贴板,文本也不会真正复制到剪贴板
我做错了什么?
解决方法:
您是从磁盘上的本地文件运行吗?如here所示,由于Adobe的安全性限制,“零剪贴板”可能无法从本地磁盘工作.您可能需要一个http://或https://网址.
您可以通过以下方法解决此问题:here,然后将本地“ ZeroClipboard.swf”文件的路径添加到“受信任的文件”列表中.您也可以尝试“全部允许”选项.
上面已经说了,当我在开发环境中安装它时,我什么也没做!我只是使用wiki instructions中提供的“完整示例”对其进行了测试.我将.swf文件粘贴到了网页本身所在的目录中,并且工作正常.也许首先尝试简化的剪切和粘贴测试.
该演示示例还具有function(client){…,其中,您的addEventListener处理程序仅具有function(){….这也许可以解释为什么您对onMouseDown和onComplete没有任何警报,尽管我不确定为什么该警报对onLoad有用.