2

我想试试这个DEMO使用 ZeroClipboard 将文本复制到剪贴板。我有一个包含 index.html、ZeroClipboard.js 和 ZeroClipboard.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>
4

4 回答 4

4

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

于 2013-07-24T04:47:46.970 回答
1

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

剪辑.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>

我希望它对你有用。

于 2013-07-24T05:53:24.947 回答
0

box-content您在定义元素之前调用 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>
于 2013-12-31T06:55:36.147 回答
0

确保两者ZeroClipboard.jsZeroClipboard.swf可用。要验证这一点,您可以打开控制台并查找错误。还要确保安装并启用了Adob​​e Flash 。

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

于 2013-07-19T09:23:46.610 回答