ZeroClipboard插件实现多浏览器复制功能(支持firefox、chrome、ie6)

但是值得注意的是官方介绍中已明确表态说这个插件不支持ie6,下面将提供多实例化Zero Clipboard复制功能的实现及兼容ie6的写法!

先下载ZeroClipboard http://www.jb51.net/jiaoben/24961.html

<style type="text/css">
 body { font-family:arial,sans-serif; font-size:9pt; }
 .copyit {text-align:center; border:1px solid #FD6001; background-color:#ED730B; margin:10px; padding:2px 5px; cursor:pointer; font-size:12px; border-radius:3px;}
 .copyit.hover { background-color:#FD6001;}.copyit.active { background-color:#d25102;}/*鼠标hover效果,实为调用setCSSEffects()方法*/
 .copy_info{width:260px;height:100px;border:1px solid #ccc;padding:5px;}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="/js/ZeroClipboard/ZeroClipboard.js"></script>
<div class="clip_container">
<textarea id="fe_text" cols=50 rows=5 class="copycnt">第1个被复制的内容!!!</textarea>
<b class="copyit">复制内容</b>
</div>
<br/>
<div class="clip_container">
<textarea id="fe_text" cols=50 rows=5 class="copycnt">第2个被复制的内容!!!</textarea>
<b class="copyit">复制内容</b>
</div>
<script type="text/javascript">
var clip = null;
function copyThis() {
	if($.browser.version==6.0){
		//针对ie6
		$('.copyit').bind("click",function(){
		var code=$(this).parents(".clip_container").find(".copycnt").text();
		window.clipboardData.setData("Text",code);
		alert('被复制的内容:\n'+code);
	  })
	  return;
	}
	ZeroClipboard.setMoviePath("http://img.jb51.net/js/scripts/clipboard.swf'");//如果ZeroClipboard.js, ZeroClipboard.swf放在同一目录下,可省略这句;
	clip = new ZeroClipboard.Client();
	$('.copyit').mouseover( function() {
	 var code=$(this).parents(".clip_container").find(".copycnt").text();
	 clip.setText(code);
	 if (clip.div) {//已创建过包含flash的父层div,则鼠标hover时重新定位flash层的位置
		 //clip.receiveEvent('mouseout', null);
		 clip.reposition(this);
	 }else{
		clip.glue(this)};
	 //clip.receiveEvent('mouseover', null);
	} );
	clip.addEventListener( 'complete', function(client, text){
	 alert("被复制内容:\n"+text);
	});
}
copyThis();
</script>
<textarea style="width:300px;height:300px;">
粘贴复制的内容到这里试试!!
</textarea>

上面的实现方法,除了ie6使用window.clipboardData.setData来实现复制功能外,其它浏览器都用Zero Clipboard 插件来实现复制功能!

使用该插件时应注意的几点:

1、以上 ZeroClipboard.js, ZeroClipboard.swf需要放在同一路径下。如果不在同一路径,可使用ZeroClipboard.setMoviePath( “Flash路径” );来设置ZeroClipboard.swf 地址。

2、setCSSEffects() 方法的解析: 当鼠标移到按钮上或点击时,由于有Flash按钮的遮挡,所以复制按钮本身体的 css “:hover”, “:active” 等伪类可能会失效。setCSSEffects() 方法就是解决这个问题。首先我们需要将伪类改成类,比如:

代码如下:

.copyit:hover{
 border-color:#FF6633;
}
// 需要将":hover"改成下面的".hover"
.copyit.hover{
 border-color:#FF6633;
}

3、getHTML() 方法的解析:如果你想自己实例一个Flash ,不用Zero Clipboard的附着方法,那么这个方法就可以帮上忙了。它接受两个参数,分别为Flash的宽度和高度。返回的是Flash对应的 HTML 代码。例如:
var html = clip.getHTML( 150, 20 );

时间: 2014-08-27

JS将制定内容复制到剪切板示例代码

复制代码 代码如下: function copyText() { //复制内容 var txt = document.getElementById("table2").rows[1].cells[0].innerHTML; //去除空格 txt = txt.replace(/ /," "); //去除换行 txt = txt.replace(/<BR><BR>/," "); if (window.clipboardData

Js+Flash实现访问剪切板操作

最近需要遇到了这个问题点击按钮复制链接的功能果断度娘谷哥.最后找到得解决方案ZeroClipBoard一款开源得js+Flash实现得剪切板操作 但是搜寻了众多例子之后发现大多都是介绍一个页面只有一个固定的复制操作 而我得需求是这样 一个动态Repeater动态加载出各个地址和复制按钮. 这个解决方案得原理是: 拿js动态加载一个透明flash.然后遮盖到你要点击得按钮上面,之后在给这个flash得承载元素上绑定事件动态把要复制得值传递到flash中,用flash访问剪切板. 这时候就出现这么一

使用ZeroClipboard解决跨浏览器复制到剪贴板的问题

Zero Clipboard的实现原理Zero Clipboard 利用透明的Flash让其漂浮在复制按钮之上,这样其实点击的不是按钮而是 Flash ,这样将需要的内容传入Flash,再通过Flash的复制功能把传入的内容复制到剪贴板 Zero Clipboard的安装方法 首先需要下载 Zero Clipboard的压缩包,解压后把文件夹中两个文件:ZeroClipboard.js 和 ZeroClipboard.swf 放入到你的项目中. 然后把在你要使用复制功能的页面中引入Zero Cl

zeroclipboard复制到剪切板的flash

下面说实现步骤: 1- 引用文件.下载后会得到两个核心文件ZeroClipboard.js和ZeroClipboard.swf,在项目中引用其中一个. <script type="text/javascript" src="http://www.cnblogs.com/Scripts/ZeroClipboard/ZeroClipboard.js"></script> 2- 加载ZeroClipboard对象,并实现复制功能. 复制代码 代码如

js 剪切板应用clipboardData详细解析

注意:ie7,与ie8 对网页有个复制的权限,需在"安全"中的"自定义级别"的脚本中设置 clipboardData 对象 提供了对剪贴板的访问. 三个方法 1.clearData(sDataFormat) 删除剪贴板中指定格式的数据. 2.getData(sDataFormat) 从剪贴板获取指定格式的数据. 3.setData(sDataFormat, sData) 给剪贴板赋予指定格式的数据.返回 true 表示操作成功. 例子 <script lang

JavaScript使用ZeroClipboard操作剪切板

一.ZeroClipboard下载地址 为大家提供细一些ZeroClipboard的下载地址: Zero Clipboard 开源的 JavaScript+flash 复制库类 基于ZeroClipboard实现的网站内容复制粘贴JS特效源码 zeroclipboard 用js与flash实现的复制到剪切板的文件 二.添加js引用 <script src="../Assets/js/jquery-1.8.3.min.js"></script> <scrip

浏览器复制插件zeroclipboard使用指南

一个简单例子: <html> <body> <button id="copy-button" data-clipboard-text="Copy Me!" title="Click to copy me.">Copy to Clipboard</button> <script src="~/Scripts/jquery-1.7.1.js"></script>

js 剪切板的用法(clipboardData.setData)与js match函数介绍

经常看到这样一种效果:就是单击一个按钮,就将某个区域内的内容,复制到了剪切板中.其实这个功能实现起来也不难,核心就是用到了window子对象clipboardData的一个方法:setData()语法:    clipboardData.setData(sDataFormat, sData) 参数:sDataFormat:要复制的内容的格式:sData:要复制的内容. 返回值:复制成功返回true:失败返回false. 复制代码 代码如下: <script language="JavaSc

zeroclipboard 单个复制按钮和多个复制按钮的实现方法

zeroclipboard是一个跨浏览器的库类 它利用 Flash 进行复制,所以只要浏览器装有 Flash 就可以运行,而且比 IE 的 document.execCommand("Copy") 更加灵活. zeroclipboard下载地址:http://www.jb51.net/jiaoben/24961.html zeroclipboard实现多浏览器复制到粘贴板功能(单个复制按钮和多个复制按钮) 为了更好的用户体验,现在很多网站中文本框的内容只需要点击复制按钮这样就能把内容复

js复制到剪切板的实例方法

复制代码 代码如下: <script type="text/javascript" language="javascript">         //复制到剪切板js代码         function copyToClipBoard(s) {             //alert(s);             if (window.clipboardData) {                 window.clipboardData.setD

jquery 一键复制到剪切板的实例

今天做项目有一个功能,通过点击事件复制一段文本到剪切板,在网上找了一些,整理了一下,方便需要的朋友使用. <a id="copy" data-text="123456">复制文本</a> $(function(){ var clipboard = new Clipboard('#copy',{ text: function(trigger) { alert("复制成功!"); return trigger.getAttri

android实现文本复制到剪切板功能(ClipboardManager)

注意:导包的时候 API 11之前: android.text.ClipboardManagerAPI 11之后: android.content.ClipboardManager 复制代码 代码如下: /** * 实现文本复制功能 * add by wangqianzhou * @param content */  public static void copy(String content, Context context)  {  // 得到剪贴板管理器  ClipboardManager

简单实现兼容各大浏览器的js复制内容到剪切板

因为网站文章需要提供几个按钮,单击后实现复制文章内容到剪贴板. 在网上搜索了很多内容,发现都比较乱这里自己整理下,分享给大家 效果图如下: 之前使用的是window.clipboardData.setData,只能支持IE和火狐.360浏览器.搜狗等浏览器,都泪崩.所以,研究了ZeroClipboard,尽量使用js代码写. 使用前先引用三个东西(没有提供上传附件,这里就不提供下载地址了,很常见,大家自己找度娘吧): jquery-1.4.1.min.js    ZeroClipboard.js

node.js实现复制文本到剪切板的功能

前言 最近在工作中遇到一种需求:我需要请求后端数据,但请求数据前需要登陆,获得一个token.登陆方式是向一个json地址post数据即可.之前我的做法是,用chrome插件postman来实现登陆动作.但后来无意中发现,postman内存占用超高!即使我并没有使用它.这让我很不爽. 后来一想,实现这么简单的一个动作,用这么重的插件,对于我这样一个会nodejs的前端程序员是不是太Low了?简直不好意思对人讲自己会nodejs! 于是我就花了点时间写了个简单的脚本.本文记录一下开发过程. 实现思

Android学习笔记--使用剪切板在Activity中传值示例代码

在Activity之间传递数据还可以利用一些技巧,不管windows还是Linux操作系统,都会支持一种叫剪切板的技术,也就是某一个程序将一些数据复制到剪切板上,然后其他的任何程序都可以从剪切板中获取数据,在Android系统中也存在此技术. 使用剪切板会用到,ClipboardManager对象,这个对用剪切板会用到,ClipboardManager象用来操作剪切板,但是没有提供public的构造函数(单例模式),需要使用Activity.getSystemService(Context.CL