Javascript控制剪貼簿大全

來源:互聯網
上載者:User
看到UBB代碼[ code ]視窗的時候會有個"複製到剪貼簿"的功能.我覺得很好用.
突然想到檔案上傳後,出現在"地址(路徑)"位置的URL,給他加個複製的按鈕吧.
研究了一下原來的代碼..
定義函數

程式碼view plaincopy to clipboardprint?

  1. function CopyText(obj) {   
  2.  ie = (document.all)? true:false  
  3.  if (ie){   
  4.   var rng = document.body.createTextRange(); //列出所有文字物件內容   
  5.   rng.moveToElementText(obj);//移動文本範圍以便範圍的開始和結束位置能夠完全包含給定元素的文本   
  6.   rng.scrollIntoView();//scrollIntoView 將對象滾動到可見範圍內,將其排列到   
  7. 視窗頂部或底部   
  8.   rng.select();//選擇   
  9.   rng.execCommand("Copy");//複製   
  10.   rng.collapse(false);//不太明白..   
  11.  }   
  12. }   

function CopyText(obj) {<br />ie = (document.all)? true:false<br />if (ie){<br /> var rng = document.body.createTextRange(); //列出所有文字物件內容<br /> rng.moveToElementText(obj);//移動文本範圍以便範圍的開始和結束位置能夠完全包含給定元素的文本<br /> rng.scrollIntoView();//scrollIntoView 將對象滾動到可見範圍內,將其排列到<br />視窗頂部或底部<br /> rng.select();//選擇<br /> rng.execCommand("Copy");//複製<br /> rng.collapse(false);//不太明白..<br />}<br />}<br />
然後用

程式碼
<a href="javascript:CopyText(document.all.CODE_8223);">[ 複製代碼到剪貼簿 ]</a> </td></tr></table><div class="code_main" id="CODE_8223">需要複製的代碼...</div>

它主要是選中要複製的文字物件,然後用exeCommand("Copy")來複製.
之後我照班了一個..結果發現<input type=text>裡面的東西無法複製..只能選中外面的框..
又在網上找了一些資料...終於有了答案.嘿嘿..
==========================================
javascript Tip(1) 操作剪貼簿
javascript可以輕鬆操作用戶端剪貼簿內容,不過只適用IE5以上瀏覽器
javascript可以使用window.clipboardData對象處理剪貼簿內容
儲存到剪貼簿的方法 setData(param1, param2)
param1 :資料類型 text 或 URL等.
param2 :資料內容

從剪貼簿讀出資料的方法 getdata(param1)
清空資料的方法 clearData(param1)

下面是一個例子示範

程式碼view plaincopy to clipboardprint?

  1.   
  2. <HTML>    
  3. <HEAD>    
  4. <TITLE>測試操作剪貼簿</TITLE>    
  5. </HEAD>    
  6. <script>    
  7. function copyToClipboard()    
  8. {    
  9. var d=document.all("source").value;    
  10. window.clipboardData.setData('text', d);    
  11. }    
  12.   
  13. </script>    
  14. <BODY >    
  15.   
  16. <button onclick="copyToClipboard();">拷貝</button>    
  17. <input type="text" size=20 id="source" value="測試資料">    
  18. <br>    
  19. <button onclick="alert(window.clipboardData.getData('text'));">顯示</button>    
  20. <button onclick="window.clipboardData.clearData('text');">清空</button>    
  21.   
  22.   
  23. </BODY>    
  24. </HTML>    
  25.   

<HTML><br /><HEAD><br /><TITLE>測試操作剪貼簿</TITLE><br /></HEAD><br /><script><br />function copyToClipboard()<br />{<br />var d=document.all("source").value;<br />window.clipboardData.setData('text', d);<br />}<br /></script><br /><BODY ><br /><button onclick="copyToClipboard();">拷貝</button><br /><input type="text" size=20 id="source" value="測試資料"><br /><br><br /><button onclick="alert(window.clipboardData.getData('text'));">顯示</button><br /><button onclick="window.clipboardData.clearData('text');">清空</button><br /></BODY><br /></HTML><br />
下面是另一個例子實現頁面中選中字元,並拖拉到文本區功能
注意其中的window.event.dataTransfer對象也可處理剪貼簿內容,不過只能用在 drag-and-drop 操作中

程式碼view plaincopy to clipboardprint?

  1. <HTML>    
  2. <HEAD>    
  3. <TITLE>測試操作剪貼簿2</TITLE>    
  4. </HEAD>    
  5. <script>    
  6.   
  7. function transferDrop() {    
  8. windowwindow.event.srcElement.innerText = window.event.dataTransfer.getData("text");    
  9. window.event.returnValue = false;    
  10. }    
  11. function transferDrag() {    
  12. window.event.dataTransfer.dropEffect = 'move';    
  13. window.event.returnValue = false;    
  14. }    
  15.   
  16. </script>    
  17. <BODY    
  18.   
  19. <p id="mySource" ondragstart="window.event.dataTransfer.effectAllowed =    
  20. 'move';">選擇我們並把我們拖到下面的textarea</p>    
  21.   
  22. <textarea id="myTarget" ondrop="transferDrop();"    
  23. ondragover="window.event.returnValue = false;" ondragenter="transferDrag();">    
  24. </textarea>    
  25.   
  26. </BODY>    
  27. </HTML>    

<HTML><br /><HEAD><br /><TITLE>測試操作剪貼簿2</TITLE><br /></HEAD><br /><script><br />function transferDrop() {<br />window.event.srcElement.innerText = window.event.dataTransfer.getData("text");<br />window.event.returnValue = false;<br />}<br />function transferDrag() {<br />window.event.dataTransfer.dropEffect = 'move';<br />window.event.returnValue = false;<br />}<br /></script><br /><BODY<br /><p id="mySource" ondragstart="window.event.dataTransfer.effectAllowed =<br />'move';">選擇我們並把我們拖到下面的textarea</p><br /><textarea id="myTarget" ondrop="transferDrop();"<br />ondragover="window.event.returnValue = false;" ondragenter="transferDrag();"><br /></textarea><br /></BODY><br /></HTML><br />
==============================
發現用
window.clipboardData.setData("text",value)
window.clipboardData.getData("text")
window.clipboardData.clearData("text")
很容易控制剪貼簿的內容了..

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.