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

Javascript ZeroClipboard-将文本复制到剪贴板不起作用,javascript,html,zeroclipboard,Javascript,Html,Zeroclipboard,我想尝试使用ZeroClipboard将文本复制到剪贴板。我有一个本地文件夹,其中包含index.html、zerociplate.js和zerociplate.swf。 但它不起作用: <html> <body> <script type="text/javascript" src="ZeroClipboard.js"></script> <script type="text/javascript">

我想尝试使用ZeroClipboard将文本复制到剪贴板。我有一个本地文件夹,其中包含index.html、zerociplate.js和zerociplate.swf。 但它不起作用:

<html>
<body>
    <script type="text/javascript" src="ZeroClipboard.js"></script>
    <script type="text/javascript">
        //set path
        ZeroClipboard.setMoviePath('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');
    </script>

    <textarea name="box-content" id="box-content" rows="5" cols="70">
        The David Walsh Blog is the best blog around!  MooTools FTW!
    </textarea>
    <br />
    <br />
    <p>
        <input type="button" id="copy" name="copy" value="Copy to Clipboard" />
    </p>
</body>
</html>

//设定路径
ZeroClipboard.setMoviePath('ZeroClipboard.swf');
//创建客户端
var clip=新的ZeroClipboard.Client();
//事件
clip.addEventListener('mousedown',函数(){
clip.setText(document.getElementById('box-content').value);
});
clip.addEventListener('complete',函数(客户端,文本){
警报('复制:'+文本);
});
//把它粘在钮扣上
剪贴胶(“拷贝”);
大卫沃尔什博客是最好的博客!穆夫特!



确保
ZeroClipboard.js
ZeroClipboard.swf
都可用。要验证这一点,您可以打开控制台并查找错误。 还要确保已安装并启用


在所有其他情况下,该示例都应该有效。

您必须运行服务器。因为指向站点的链接必须包含http或https。这是因为adobe flash的安全设置

请确保在“复制”按钮中生成iframe标记。 初始化Zeroclipboard.Client()后缺少一行

clip.setHandCursor(真)

 <script type="text/javascript">
    //set path
    ZeroClipboard.setMoviePath('ZeroClipboard.swf');
    //create client
    var clip = new ZeroClipboard.Client();
    //event

    clip.setHandCursor( true );          


    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');
    </script>

//设定路径
ZeroClipboard.setMoviePath('ZeroClipboard.swf');
//创建客户端
var clip=新的ZeroClipboard.Client();
//事件
clip.setHandCursor(true);
clip.addEventListener('mousedown',函数(){
clip.setText(document.getElementById('box-content').value);
});
clip.addEventListener('complete',函数(客户端,文本){
警报('复制:'+文本);
});
//把它粘在钮扣上
剪贴胶(“拷贝”);

我希望它能为您工作。

在定义元素
框内容之前调用javascript

clip.addEventListener('mousedown', function () {
   clip.setText(document.getElementById('box-content').value);
});
试试这个:

<html>
<body>
    <textarea name="box-content" id="box-content" rows="5" cols="70">
        The David Walsh Blog is the best blog around!  MooTools FTW!
    </textarea>
    <br />
    <br />
    <p>
        <input type="button" id="copy" name="copy" value="Copy to Clipboard" />
    </p>
    <script type="text/javascript" src="ZeroClipboard.js"></script>
    <script type="text/javascript">
        //set path
        ZeroClipboard.setMoviePath('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');
    </script>
</body>
</html>

大卫沃尔什博客是最好的博客!穆夫特!


//设定路径 ZeroClipboard.setMoviePath('ZeroClipboard.swf'); //创建客户端 var clip=新的ZeroClipboard.Client(); //事件 clip.addEventListener('mousedown',函数(){ clip.setText(document.getElementById('box-content').value); }); clip.addEventListener('complete',函数(客户端,文本){ 警报('复制:'+文本); }); //把它粘在钮扣上 剪贴胶(“拷贝”);
您是尝试使用
localhost
还是双击打开文件?在您的情况下,它应该位于服务器
localhost
上。swf可以很好地加载(控制台登录时为正确的url),但按下按钮时不会发生任何事情……我已经尝试了几个代码,都来自库github页面示例,您的代码,JSFIDLE添加到接受的Answer中。在这里,这些都不起作用