使用ZeroClipboard将URL复制到剪贴板

时间:2012-02-01 21:42:53

标签: javascript jquery url zeroclipboard

我正在尝试使用ZeroClipboard(http://code.google.com/p/zeroclipboard/wiki/Instructions)将当前网址复制到用户的剪贴板。我知道我在这里遗漏了一些东西,但我在控制台中没有出现任何错误,也没有在工作中发生错误:

的JavaScript

<script src="/js/zero-clipboard.js"></script>
<script>
        var clip = null;
        ZeroClipboard.setMoviePath( '/ZeroClipboard10.swf' );
        function $(id) { return document.getElementById(id); }
        function init() {
            clip = new ZeroClipboard.Client();
            clip.setHandCursor( true );

            clip.addEventListener('load', function (client) {
                debugstr("Flash movie loaded and ready.");
            });

            clip.addEventListener('mouseOver', function (client) {
            // update the text on mouse over
                clip.setText( $('#copyURL').href );
            });

            clip.addEventListener('complete', function (client, text) {
                debugstr("Copied text to clipboard: " + text );
            });

clip.glue( 'copyURL', 'copyURLContainer' );
        }

        function debugstr(msg) {
            var p = document.createElement('p');
            p.innerHTML = msg;
            $('d_debug').appendChild(p);
        }
</script>

HTML:

<div id="copyURLContainer">
    <a id="copyURL" href="javascript:window.location">COPY URL</a>
</div>

我的代码中缺少什么想法?

编辑:我也尝试将clip.addEventListener设置为window.location。那也行不通。我可以将$('#copyURL')位拉出来吗?

clip.addEventListener('mouseOver', function (client) {
            // update the text on mouse over
                clip.setText( $('#copyURL').window.location );
            });

我还没想出这个。任何人对我缺少的东西都有任何想法吗?

1 个答案:

答案 0 :(得分:1)

当将clip.setText设置为window.location时,它会传递一个对象。必须启动一个空字符串才能正常通过。它现在正在运作。

clip.addEventListener('mouseOver', function (client) {
            // update the text on mouse over
                clip.setText(""+window.location);
            });
相关问题