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 );
});
私はまだこれを理解していません。私が欠けているものについて何か考えがありますか?