首页 > 编程 > JavaScript > 正文

js实现复制功能(多种方法集合)

2019-11-19 14:34:43
字体:
来源:转载
供稿:网友

1.实现点击按钮,复制文本框中的的内容

<script type="text/javascript">function copyUrl2(){var Url2=document.getElementById("biao1");Url2.select(); // 选择对象document.execCommand("Copy"); // 执行浏览器复制命令alert("已复制好,可贴粘。");}</script><textarea cols="20" rows="10" id="biao1">用户定义的代码区域</textarea><input type="button" onClick="copyUrl2()" value="点击复制代码" />

2.复制专题地址和 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复制代码</title></head><body><p><input type="button" name="anniu1" onClick='copyToClipBoard()' value="复制专题地址和url地址,传给QQ/MSN上的好友"><script language="javascript">function copyToClipBoard(){var clipBoardContent="";clipBoardContent+=document.title;clipBoardContent+="";clipBoardContent+=this.location.href;window.clipboardData.setData("Text",clipBoardContent);alert("复制成功,请粘贴到你的QQ/MSN上推荐给你的好友");}</script>

3.直接复制 url

<input type="button" name="anniu2" onClick='copyUrl()' value="复制URL地址"><script language="javascript">function copyUrl(){var clipBoardContent=this.location.href;window.clipboardData.setData("Text",clipBoardContent);alert("复制成功!");}</script>

4.点击文本框时,复制文本框里面的内容

<input onclick="oCopy(this)" value="你好.要copy的内容!"><script language="javascript">function oCopy(obj){obj.select();js=obj.createTextRange();js.execCommand("Copy")alert("复制成功!");}</script>

5.复制文本框或者隐藏域中的内容

<script language="javascript">function CopyUrl(target){target.value=myimg.value;target.select(); js=myimg.createTextRange(); js.execCommand("Copy");alert("复制成功!");}function AddImg(target){target.value="[IMG]"+myimg.value+"[/ img]";target.select();js=target.createTextRange(); js.execCommand("Copy");alert("复制成功!");}</script>

6.复制 span 标记中的内容

<script type="text/javascript"></script><br /><br /><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("复制成功!");}</script>

7.浏览器兼容 copyToClipboard("拷贝内容")

function copyToClipboard(txt) {      if (window.clipboardData) {        window.clipboardData.clearData();        clipboardData.setData("Text", txt);        alert("复制成功!");      } 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'设置为'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("复制成功!");      }    }

js实现但击自动选中文本

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>自动选择文本框/编辑框中的文字</title><script type="text/javascript">function Myselect_txt(){ if (document.form1.title.focus){  document.form1.title.select();}}function Myselect_txtarea(){ if (document.form1.content.focus){  document.form1.content.select();}}</script></head><body style="font-size:12px"><table width="443" height="97" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#f9f9f9"> <form name="form1">  <tr bgcolor="#214994">   <td height="25" colspan="2"><div align="center"><font color="#FFFFFF">新闻信息修改</font></div></td>  </tr>  <tr>   <td width="80" height="28"><div align="right"><font color="#214994">新闻标题:</font></div></td>   <td width="363"><input name="title" type="text" size="50" value="今日新闻头条" onClick="Myselect_txt()"></td>  </tr>  <tr>   <td height="20"><div align="right"><font color="#214994">新闻内容:</font></div></td>   <td rowspan="2"><textarea name="content" cols="50" rows="6" onClick="Myselect_txtarea()">今日,据相关方面报道,...</textarea></td>  </tr>  <tr>   <td height="10"> </td>  </tr>  <tr>   <td height="32" colspan="2">    <div align="center">     <input name="add" type="submit" id="add" value="添加">      <input name="Submit" type="reset" value="重置">   </div></td>  </tr> </form></table></body></html>

当前最常用的最简洁还是这个,代码少,减少页面加载速度

function copyToClipboard(txt) {  	if(window.clipboardData){  		window.clipboardData.clearData();  		window.clipboardData.setData("Text", txt);		alert('复制成功!')	}else{		alert('请手动复制!')		}  }

到此介绍这么多了,希望大家多多关注,武林网以前的文章。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表