JS实现各种复制到剪贴板

简介:

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

 
 
 
 
 
 
 
 
 
 
 
 
< 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 上的好友

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
<!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

 
 
 
 
 
 
 
 
 
 
< 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 >

四、点击文本框时,复制文本框里面的内容
 

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

五、复制文本框或者隐藏域中的内容

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
< 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 标记中的内容

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
< 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("拷贝内容")
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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)

 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
< 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
 
 
本文转自左正博客园博客,原文链接: http://www.cnblogs.com/soundcode/p/7230001.html,如需转载请自行联系原作者
 
 
相关文章
|
4月前
|
JavaScript 安全
原生js实现将base64图片内容复制到剪贴板
原生js实现将base64图片内容复制到剪贴板
|
4月前
|
JavaScript 测试技术
原生js实现将图片内容复制到剪贴板
原生js实现将图片内容复制到剪贴板
|
JavaScript Linux Windows
node-copy-paste.js:一个读写系统剪贴板的工具
node-copy-paste.js:一个读写系统剪贴板的工具
97 0
|
JavaScript 前端开发
利用JavaScript实现二级联动
利用JavaScript实现二级联动 要实现JavaScript二级联动效果,首先要确定需要哪些技术: 二维数组 for in循环 new Option(text,value,true,true) add(option,null) onchange() 表单事件 HTML代码: &lt;!-- &lt;input type=&quot;text&quot; id=&quot;text&quot;&gt; --&gt; 请选择省份: &lt;select name=&quot;&quot; id=&quot;provinces&quot;&gt; &lt;!-- &lt;option value=&quot;江苏省&quot;&gt;江苏省&lt;/option&gt;
|
JavaScript 前端开发
JavaScript函数柯里化的实现原理,进来教你完成一个自己的自动实现柯里化方法
JavaScript函数柯里化的实现原理,进来教你完成一个自己的自动实现柯里化方法
167 0
|
移动开发 JavaScript weex
weex-自定义module,实现weex在iOS的本地化,js之间互相跳转,交互,传值(iOS接入weex的最佳方式)
weex-自定义module,实现weex在iOS的本地化,js之间互相跳转,交互,传值(iOS接入weex的最佳方式)
219 0
|
JavaScript
JS中实现或退出全屏
JS中实现或退出全屏
153 0
|
前端开发 JavaScript
前端:JS实现双击table单元格变为可编辑状态
前端:JS实现双击table单元格变为可编辑状态
365 0
|
JavaScript 算法 前端开发
【前端算法】JS实现数字千分位格式化
JS实现数字千分位格式化的几种思路,以及它们之间的性能比较
270 1