将文本复制到剪贴板不起作用

时间:2014-07-30 05:26:31

标签: javascript jquery flash

我正在使用zeroClipboard.js将文本复制到剪贴板。我在这里研究过,在其他论坛上,但我不知道为什么我不能让它工作......

我下载了文件并启动了一个localhost服务器,没有...

在我看来,Github存储库被不必要的文件所淹没......

我看过this文章,复制了 EXACT 代码,什么也没得到。有人能告诉我什么是错的吗?隐藏的Flash文件没有显示出来。

//set path
ZeroClipboard.setMoviePath('http://davidwalsh.name/demo/ZeroClipboard.swf');
//create client
var clip = new ZeroClipboard.Client();
//event
clip.addEventListener('mousedown', function () {
    clip.setText(document.getElementById('box-content').value);
});
clip.addEventListener('complete', function (client, text) {
    alert('copied: ' + text);
});
//glue it to the button
clip.glue('copy');

// zeroClipboard.js is attached via EXTERNAL RESOURCES.

Fiddle在这里,但可能不需要。

1 个答案:

答案 0 :(得分:0)

你可能有两个问题:

1)由于Flash Player安全限制,您应该使用来自html文件所在域的.swf文件。所以问题在于这一行:

ZeroClipboard.setMoviePath('http://davidwalsh.name/demo/ZeroClipboard.swf');

要修复它,您可以将其更改为.swf文件副本所在的本地路径:

ZeroClipboard.setMoviePath('ZeroClipboard.swf');

2)ZeroClipboard仅在从服务器运行时才能正常工作。确保您没有从本地文件夹运行您的网页。 (浏览器地址栏中的网址必须以http开头,而不是file:///)。


该文章中使用的库已过时且存在一些错误。我建议您使用更新版本,可在此处获取:https://github.com/zeroclipboard/zeroclipboard