Javascript如何實現(xiàn)復(fù)制動作

小編給大家分享一下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)

網(wǎng)站建設(shè)網(wǎng)站維護公司