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

作者:mdxy-dxy 时间:2024-05-09 10:36:31 

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">&nbsp;</td>
 </tr>
 <tr>
  <td height="32" colspan="2">
   <div align="center">
    <input name="add" type="submit" id="add" value="添加">
&nbsp;
    <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('请手动复制!')
}  
}

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

标签:js,复制功能
0
投稿

猜你喜欢

  • golang读取各种配置文件(ini、json、yaml)

    2024-05-09 14:51:49
  • django Serializer序列化使用方法详解

    2022-07-17 12:42:24
  • asp如何做一个检索结果带链接的检索?

    2010-07-11 21:15:00
  • python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法

    2021-01-03 05:25:29
  • 由浅入深讲解python中的yield与generator

    2022-08-14 06:26:11
  • 如何查看python中安装库的文件位置

    2021-04-17 04:09:31
  • 解读ASP.NET 5 & MVC6系列教程(2):初识项目

    2023-06-28 02:10:47
  • 微信小程序实现登录注册tab切换效果

    2024-04-29 13:11:29
  • 基于PyQt5制作一个windows通知管理器

    2022-10-18 19:28:24
  • CVE-2020-15148漏洞分析

    2023-06-13 13:41:18
  • MySQL 1130异常,无法远程登录解决方案详解

    2024-01-28 11:51:21
  • Anaconda超详细保姆级安装配置教程

    2022-09-06 08:11:50
  • Python3.10 Generator生成器Coroutine原生协程详解

    2023-10-25 15:31:36
  • IE8 CSS之生成内容

    2008-09-09 22:14:00
  • MySQL表级锁使用说明

    2024-01-23 04:10:07
  • 利用python/R语言绘制圣诞树实例代码

    2021-02-10 02:32:23
  • python测试开发django之使用supervisord 后台启动celery 服务(worker/beat)

    2023-10-14 05:55:53
  • go语言Pflag Viper Cobra 核心功能使用介绍

    2024-04-25 15:26:28
  • Python 50行爬虫抓取并处理图灵书目过程详解

    2023-09-01 22:35:49
  • 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器

    2024-01-18 04:28:24
  • asp之家 网络编程 m.aspxhome.com