零剪贴板不工作

zeroclipboard not working

本文关键字:工作 剪贴板      更新时间:2023-09-26

所以我尝试使用这个插件:

http://code.google.com/p/zeroclipboard/wiki/Instructions

它基本上允许您通过javascript使用flash电影技巧设置剪贴板文本

我做了

    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>

零剪贴板js加载得很好

所以当我运行这个程序时,它会提醒"加载的婴儿"很好,所以闪光灯也会显示得很好,但当我点击"某物"文本时,它不会提醒鼠标放下,也不会提醒文本被复制到剪贴板,也不会真正将文本复制到剪贴板

我做错了什么?

是否从磁盘上的本地文件运行?正如这里所说,由于Adobe的安全限制,零剪贴板可能无法在本地磁盘上工作。您可能需要一个http://https:// url。

您可以通过转到此处并将本地"ZeroClipboard.swf"文件的路径添加到受信任文件列表中来解决此问题。您也可以尝试"允许所有"选项。

如上所述,当我在开发环境中安装它时,我没有做任何事情!!我刚刚使用wiki说明中提供的"完整示例"对其进行了测试。我把.swf文件和网页放在同一个目录下,它运行得很好。也许可以先尝试一个简化的剪切粘贴测试。

演示示例还有function(client){...,其中只有用于addEventListener处理程序的function(){...。这可能解释了为什么onMouseDown和onComplete没有警报,尽管我不确定为什么警报适用于onLoad。

对我来说,当我在文档就绪的上初始化零剪贴板客户端时,它就工作了

...
<script>
    $(document).ready(function() {
        var client = new ZeroClipboard($('#buttonId'), {
            moviePath : 'util/ZeroClipboard.swf'
        });
    });
</script>
...

将在cplipboard中复制输入文本的内容,对我来说,它也适用于localhost