0

ZeroClipboard (http://code.google.com/p/zeroclipboard/wiki/Instructions) を利用して、現在の URL をユーザーのクリップボードにコピーしようとしています。ここで何かが足りないことはわかっていますが、コンソールにエラーは表示されず、まだ機能していません。

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 );
            });

私はまだこれを理解していません。私が欠けているものについて何か考えがありますか?

4

1 に答える 1

1

clip.setText を window.location に設定すると、オブジェクトが渡されていました。適切に渡すために、空の文字列を開始する必要がありました。それは今働いています。

clip.addEventListener('mouseOver', function (client) {
            // update the text on mouse over
                clip.setText(""+window.location);
            });
于 2012-02-06T19:31:46.717 に答える