javascript-zeroclipboard无法正常工作

所以我想用这个插件:

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有用.

上一篇:python-使用pd.read_clipboard复制数据框时如何处理自定义命名索引?


下一篇:javascript – 使用Greasemonkey获取剪贴板内容