Javascript 实现复制(Copy)动作方法大全
一、实现点击按钮,复制文本框中的的内容
1 2 3 4 5 6 7 8 9 10 11 | < 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="点击复制代码" /> |
二、复制专题地址和 url 地址,传给 QQ/MSN 上的好友
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <! 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 > |
三、直接复制 url
1 2 3 4 5 6 7 8 9 | < 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 > |
四、点击文本框时,复制文本框里面的内容
1 2 3 4 5 6 7 8 9 | < input onclick="oCopy(this)" value="你好.要copy的内容!"> < script language="javascript"> function oCopy(obj){ obj.select(); js=obj.createTextRange(); js.execCommand("Copy") alert("复制成功!"); } </ script > |
五、复制文本框或者隐藏域中的内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | < 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 > |
六、复制 span 标记中的内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | < 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 > |
七、浏览器兼容 copyToClipboard("拷贝内容")
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | 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( "复制成功!" ); } } |
八、兼容各大浏览器的复制代码(结合ZeroClipboard.js)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | < 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("该地址已经复制,你可以使用Ctrl+V 粘贴。"); }); clip.glue('clip_button', 'clip_container' ); } </ script > </ head > < body onLoad="init()"> < input id="fe_text" cols=50 rows=5 value=复制内容文本1 > < span id="clip_container">< span id="clip_button">< b >复制</ b ></ span ></ span > </ body > </ html > |
分类:
JavaScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通