2012-02-01 103 views
0

我試圖利用ZeroClipboard(http://code.google.com/p/zeroclipboard/wiki/Instructions)將當前URL複製到用戶的剪貼板。我知道我失去了一些東西在這裏,但我沒有得到任何類型的錯誤在控制檯,也不是它的工作作爲尚未:使用ZeroClipboard將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); 
      }); 

我還沒有想出這一個。任何人有什麼想法我失蹤?

+0

仍然沒有找到解決方案或其失敗的地方。有任何想法嗎? – Keefer 2012-02-06 15:18:15

回答

1

將clip.setText設置爲window.location時,會傳遞一個對象。必須啓動一個空字符串才能正確傳遞。現在正在工作。

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