点击上方 "前端技术精选" 关注,星标或者置顶
13点24分准时推送,第一时间送达
前端技术精选 (ID:FrontEndTech )第 124 次推文 图源:百度 上一篇:图片懒加载从简单到复杂编辑:前端妹 | 作者:李清波 | 来源:liqingbo.cn/blog-1412.html
版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢!
正文
1、实现点击按钮,复制文本框中的的内容
原理:点击按钮的时候触发copyUrl2函数,根据biao1 ID选中对象,然后在根据execCommand复制选中内容,所以此时选择的内容必须是可视的,也就是说不能是隐藏的文本域。<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 上的好友
<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 标记中的内容
7、浏览器兼容 copyToClipboard("拷贝内容")<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("复制成功!");}script>
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("复制成功!"); } }
8、兼容各大浏览器的复制代码(结合ZeroClipboard.js)
<html><head><title>Zero Clipboard Testtitle><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>
本文完~
前端妹拍了拍你说:
记得戳小花花哦~
![2a95feaf78306b870c6c9e3be881d3ba.png](https://i-blog.csdnimg.cn/blog_migrate/f2c78d1223c9cba7c1f2bc7765af903c.jpeg)
喜欢本文的朋友们,欢迎长按下图关注订阅号前端技术精选
收看更多精彩内容
你在看吗?一起成长