QQ登录

只需要一步,快速开始

APP扫码登录

只需要一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

查看: 1514|回复: 0

[HTML/CSS/JS] Javascript 实现复制(Copy)动作大全

[复制链接]

等级头衔

积分成就    金币 : 2841
   泡泡 : 1516
   精华 : 6
   在线时间 : 1295 小时
   最后登录 : 2024-11-24

丰功伟绩

优秀达人突出贡献荣誉管理论坛元老

联系方式
发表于 2020-11-21 08:32:22 | 显示全部楼层 |阅读模式
1、实现点击按钮,复制文本框中的的内容& j7 o( |( R/ M  j
  1. <script type="text/javascript">
  2. function copyUrl2(){
  3.     var Url2=document.getElementById("biao1");
  4.     Url2.select(); // 选择对象
  5.     document.execCommand("Copy"); // 执行浏览器复制命令
  6.     alert("已复制好,可贴粘。");
  7. }
  8. </script>
  9. <textarea cols="20" rows="10" id="biao1">用户定义的代码区域</textarea>
  10. <input type="button" onClick="copyUrl2()" value="点击复制代码" />
      原理:点击按钮的时候触发copyUrl2函数,根据biao1 ID选中对象,然后在根据execCommand复制选中内容,所以此时选择的内容必须是可视的,也就是说不能是隐藏的文本域。
; e. @9 M: g, \! \$ a! Z9 _6 c- }4 G2、复制专题地址和 url 地址,传给 QQ/MSN 上的好友
0 @% T7 }* @$ N4 r( Y' y
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  5. <title>Js复制代码</title>
  6. </head>
  7. <body>
  8. <p>
  9. <input type="button" name="anniu1" onClick='copyToClipBoard()' value="复制专题地址和url地址,传给QQ/MSN上的好友">
  10. <script language="javascript">
  11. function copyToClipBoard(){
  12. var clipBoardContent="";
  13. clipBoardContent+=document.title;
  14. clipBoardContent+="";
  15. clipBoardContent+=this.location.href;
  16. window.clipboardData.setData("Text",clipBoardContent);
  17. alert("复制成功,请粘贴到你的QQ/MSN上推荐给你的好友");
  18. }
  19. </script>
3、直接复制 url$ H5 d8 b8 I7 `$ C( U0 [0 r. u1 ~
  1. <input type="button" name="anniu2" onClick='copyUrl()' value="复制URL地址">
  2. <script language="javascript">
  3. function copyUrl(){
  4.     var clipBoardContent=this.location.href;
  5.     window.clipboardData.setData("Text",clipBoardContent);
  6.     alert("复制成功!");
  7. }
  8. </script>
4、点击文本框时,复制文本框里面的内容2 d) k! S9 f1 d' [
  1. <input onclick="oCopy(this)" value="你好.要copy的内容!">
  2. <script language="javascript">
  3. function oCopy(obj){
  4.     obj.select();
  5.     js=obj.createTextRange();
  6.     js.execCommand("Copy")
  7.     alert("复制成功!");
  8. }
  9. </script>
5、复制文本框或者隐藏域中的内容
0 J* M2 {& a  O5 C& v
  1. <script language="javascript">
  2. function CopyUrl(target){
  3.     target.value=myimg.value;
  4.     target.select();
  5.     js=myimg.createTextRange();
  6.     js.execCommand("Copy");
  7.     alert("复制成功!");
  8. }
  9. function AddImg(target){
  10.     target.value="[IMG]"+myimg.value+"[/ img]";
  11.     target.select();
  12.     js=target.createTextRange();
  13.     js.execCommand("Copy");
  14.     alert("复制成功!");
  15. }
  16. </script>
6、复制 span 标记中的内容
3 v6 M, V# C7 q8 J- u! e
  1. <script type="text/javascript"></script>
  2. <script type="text/javascript">
  3.     function copyText(obj) {
  4.     var rng = document.body.createTextRange();
  5.     rng.moveToElementText(obj);
  6.     rng.scrollIntoView();
  7.     rng.select();
  8.     rng.execCommand("Copy");
  9.     rng.collapse(false);
  10.     alert("复制成功!");
  11. }
  12. </script>
7、浏览器兼容 copyToClipboard("拷贝内容")# V8 \$ p2 S) V5 ~
  1. function copyToClipboard(txt) {
  2.       if (window.clipboardData) {
  3.         window.clipboardData.clearData();
  4.         clipboardData.setData("Text", txt);
  5.         alert("复制成功!");
  6.       } else if (navigator.userAgent.indexOf("Opera") != -1) {
  7.         window.location = txt;
  8.       } else if (window.netscape) {
  9.         try {
  10.           netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
  11.         } catch (e) {
  12.           alert("被浏览器拒绝!\n请在浏览器地址栏输入'about:config'并回车\n然后将 'signed.applets.codebase_principal_support'设置为'true'");
  13.         }
  14.         var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
  15.         if (!clip)
  16.           return;
  17.         var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
  18.         if (!trans)
  19.           return;
  20.         trans.addDataFlavor("text/unicode");
  21.         var str = new Object();
  22.         var len = new Object();
  23.         var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
  24.         var copytext = txt;
  25.         str.data = copytext;
  26.         trans.setTransferData("text/unicode", str, copytext.length * 2);
  27.         var clipid = Components.interfaces.nsIClipboard;
  28.         if (!clip)
  29.           return false;
  30.         clip.setData(trans, null, clipid.kGlobalClipboard);
  31.         alert("复制成功!");
  32.       }
  33.     }
8、兼容各大浏览器的复制代码(结合ZeroClipboard.js)
5 ^/ ~* z7 P; b/ ^3 U
  1. <html>
  2. <head>
  3. <title>Zero Clipboard Test</title>
  4. <script type="text/javascript" src="ZeroClipboard.js"></script>
  5. <script language="JavaScript">
  6. var clip = null;
  7. function $(id) { return document.getElementById(id); }
  8. function init() {
  9.      clip = new ZeroClipboard.Client();
  10.      clip.setHandCursor(true);     
  11.      clip.addEventListener('mouseOver', function (client) {
  12.   // update the text on mouse over
  13.   clip.setText( $('fe_text').value );
  14.      });
  15.      clip.addEventListener('complete', function (client, text) {
  16.   //debugstr("Copied text to clipboard: " + text );
  17.   alert("该地址已
  18. 经复制,你可以使用Ctrl+V 粘贴。");
  19.      });
  20.      clip.glue('clip_button', 'clip_container' );
  21. }
  22. </script>
  23. </head>
  24. <body onLoad="init()">
  25. <input id="fe_text" cols=50 rows=5 value=复制内容文本1 >
  26. <span id="clip_container"><span id="clip_button"><b>复制</b></span></span>
  27. </body>
  28. </html>
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|paopaomj.COM ( 渝ICP备18007172号|渝公网安备50010502503914号 )

GMT+8, 2024-11-25 02:12

Powered by paopaomj X3.5 © 2016-2025 sitemap

快速回复 返回顶部 返回列表