我正在尝试使用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 );
});
我还没想出这个。任何人对我缺少的东西都有任何想法吗?
答案 0 :(得分:1)
当将clip.setText设置为window.location时,它会传递一个对象。必须启动一个空字符串才能正常通过。它现在正在运作。
clip.addEventListener('mouseOver', function (client) {
// update the text on mouse over
clip.setText(""+window.location);
});