小編給大家分享一下Javascript如何實現(xiàn)復(fù)制動作,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創(chuàng)新互聯(lián)公司主營五蓮網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā),五蓮h5微信小程序搭建,五蓮網(wǎng)站營銷推廣歡迎五蓮等地區(qū)企業(yè)咨詢
Javascript 實現(xiàn)復(fù)制(Copy)動作大全
一、實現(xiàn)點擊按鈕,復(fù)制文本框中的的內(nèi)容
<script type="text/javascript"> function copyUrl2(){ var Url2=document.getElementById("biao1"); Url2.select(); // 選擇對象 document.execCommand("Copy"); // 執(zhí)行瀏覽器復(fù)制命令 alert("已復(fù)制好,可貼粘。"); } </script> <textarea cols="20" rows="10" id="biao1">用戶定義的代碼區(qū)域</textarea> <input type="button" onClick="copyUrl2()" value="點擊復(fù)制代碼" />
原理:點擊按鈕的時候觸發(fā)copyUrl2函數(shù),根據(jù)biao1 ID選中對象,然后在根據(jù)execCommand復(fù)制選中內(nèi)容,所以此時選擇的內(nèi)容必須是可視的,也就是說不能是隱藏的文本域。
二、復(fù)制專題地址和 url 地址,傳給 QQ/MSN 上的好友
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>Js復(fù)制代碼</title> </head> <body> <p> <input type="button" name="anniu1" onClick='copyToClipBoard()' value="復(fù)制專題地址和url地址,傳給QQ/MSN上的好友"> <script language="javascript"> function copyToClipBoard(){ var clipBoardContent=""; clipBoardContent+=document.title; clipBoardContent+=""; clipBoardContent+=this.location.href; window.clipboardData.setData("Text",clipBoardContent); alert("復(fù)制成功,請粘貼到你的QQ/MSN上推薦給你的好友"); } </script>
三、直接復(fù)制 url
<input type="button" name="anniu2" onClick='copyUrl()' value="復(fù)制URL地址"> <script language="javascript"> function copyUrl(){ var clipBoardContent=this.location.href; window.clipboardData.setData("Text",clipBoardContent); alert("復(fù)制成功!"); } </script>
四、點擊文本框時,復(fù)制文本框里面的內(nèi)容
<input onclick="oCopy(this)" value="你好.要copy的內(nèi)容!"> <script language="javascript"> function oCopy(obj){ obj.select(); js=obj.createTextRange(); js.execCommand("Copy") alert("復(fù)制成功!"); } </script>
五、復(fù)制文本框或者隱藏域中的內(nèi)容
<script language="javascript"> function CopyUrl(target){ target.value=myimg.value; target.select(); js=myimg.createTextRange(); js.execCommand("Copy"); alert("復(fù)制成功!"); } function AddImg(target){ target.value="[IMG]"+myimg.value+"[/ img]"; target.select(); js=target.createTextRange(); js.execCommand("Copy"); alert("復(fù)制成功!"); } </script>
六、復(fù)制 span 標(biāo)記中的內(nèi)容
<script type="text/javascript"></script> <script type="text/javascript"> function copyText(obj) { var rng = document.body.createTextRange(); rng.moveToElementText(obj); rng.scrollIntoView(); rng.select(); rng.execCommand("Copy"); rng.collapse(false); alert("復(fù)制成功!"); } </script>
七、瀏覽器兼容 copyToClipboard("拷貝內(nèi)容")
function copyToClipboard(txt) { if (window.clipboardData) { window.clipboardData.clearData(); clipboardData.setData("Text", txt); alert("復(fù)制成功!"); } else if (navigator.userAgent.indexOf("Opera") != -1) { window.location = txt; } else if (window.netscape) { try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); } catch (e) { alert("被瀏覽器拒絕!\n請在瀏覽器地址欄輸入'about:config'并回車\n然后將 'signed.applets.codebase_principal_support'設(shè)置為'true'"); } var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard); if (!clip) return; var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable); if (!trans) return; trans.addDataFlavor("text/unicode"); var str = new Object(); var len = new Object(); var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); var copytext = txt; str.data = copytext; trans.setTransferData("text/unicode", str, copytext.length * 2); var clipid = Components.interfaces.nsIClipboard; if (!clip) return false; clip.setData(trans, null, clipid.kGlobalClipboard); alert("復(fù)制成功!"); } }
八、兼容各大瀏覽器的復(fù)制代碼(結(jié)合ZeroClipboard.js)
<html> <head> <title>Zero Clipboard Test</title> <script type="text/javascript" src="ZeroClipboard.js"></script> <script language="JavaScript"> var clip = null; function $(id) { return document.getElementById(id); } function init() { clip = new ZeroClipboard.Client(); clip.setHandCursor(true); clip.addEventListener('mouseOver', function (client) { // update the text on mouse over clip.setText( $('fe_text').value ); }); clip.addEventListener('complete', function (client, text) { //debugstr("Copied text to clipboard: " + text ); alert("該地址已經(jīng)復(fù)制,你可以使用Ctrl+V 粘貼。"); }); clip.glue('clip_button', 'clip_container' ); } </script> </head> <body onLoad="init()"> <input id="fe_text" cols=50 rows=5 value=復(fù)制內(nèi)容文本1 > <span id="clip_container"><span id="clip_button"><b>復(fù)制</b></span></span> </body> </html>
以上是“Javascript如何實現(xiàn)復(fù)制動作”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
標(biāo)題名稱:Javascript如何實現(xiàn)復(fù)制動作
當(dāng)前網(wǎng)址:http://bm7419.com/article4/geipie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、搜索引擎優(yōu)化、定制開發(fā)、網(wǎng)站排名、網(wǎng)站內(nèi)鏈、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)