jQuery插件:利用zclip插件实现跨浏览器复制(转载)

jQuery插件:跨浏览器复制jQuery-zclip

jQuery-zclip是一个复制内容到剪贴板的jQuery插件,使用它我们不用考虑不同浏览器和浏览器版本之间的兼容问题。jQuery-zclip插件需要Flash的支持,使用时记得安装Adobe Flash Player。

1、jQuery-zclip插件官网
ZeroClipboard.swf下载地址

2、jQuery-zclip用法

复制代码
//引入jQuery-zclip相关js及swf文件
<script type="text/javascript" src="<%=path%>/resources/js/jquery.min.js"></script>
<script type="text/javascript" src="<%=path%>/resources/js/jquery.zclip.min.js"></script>
<script type="text/javascript">
$(function(){
    $("#cp-btn").zclip({
        path:'<%=path%>/resources/js/ZeroClipboard.swf', //记得把ZeroClipboard.swf引入到项目中 
        copy:function(){
            return $('#inviteUrl').val();
        }
    });
});
</script>

<div class=form-row>
    <div class=col-md-5>
        <input class=form-control value="" id="inviteUrl"/>
    </div>
    <div class=col-md-1>
        <a href="javascript:void(0)" id="cp-btn"
            class="btn btn-default btn-block btn-clean">复&nbsp;&nbsp;制</a>
    </div>
</div>
复制代码

 

配置说明
path:swf的路径(复制主要是用flash解决不同浏览器的复制)
copy:待复制的内容, 可以是静态内容, 也可以 return 动态内容
beforeCopy:复制之前要做的function;
afterCopy:复制之后要做的function;

提供了3个方法
show:$(selected).zclip('show');//复制功能有效
hide:$(selected).zclip('hide');//复制功能无效
remove:$(selected).zclip('remove');//完全移除复制功能

3、演示效果
运行成功后,点击复制按钮,会弹出一个提示框,表示复制到剪切板生效了,如下:

弹出框出现“Copied text to clipboard”英文字符,有点不符国人使用习惯,把它改为“成功复制到剪切板”,在jquery.zclip.min.js文件中找到“Copied text to clipboard”替换成“成功复制到剪切板”就可以了,效果如下:





-===================================分隔符====================================

以上是转载而来,也是自己参考的源.

附上一点自己所测试通过的代码,很简单的一个单页面实现复制功能,复制即可测试成功(必须在有服务器的环境下,比如tomcat),注意点:

1.zclip.js文件与<pre name="code" class="html" style="color: rgb(75, 75, 75); font-size: 13px; line-height: 19.5px;">zclip.swf必须保存在一个目录下,我是直接保存在js/下的
2.在测试没有通过的情况下,有可能是代码写错,仔细检查,我之前犯了急促错误
3.zclip.min.js与zclip.js有差距,zclip.min.js是精简版本
</pre><pre name="code" class="html" style="color: rgb(75, 75, 75); font-size: 13px; line-height: 19.5px;">附上:自己找了很久找到的dome  <a target=_blank href="http://download.csdn.net/detail/dcb_ripple/9381291">http://download.csdn.net/detail/dcb_ripple/9381291</a>
然后也有一个问题,困扰着(表示也算新人所以没找到解决方案),
在单击复制按钮时,理想情况下用onclick来进行对 复制按钮的绑定,但问题出现于   zclip实现在于提前为按钮进行值的绑定,而在此情景下单击复制,在进行绑定时则产生了冲突,也就无法进行一个正确的绑定,再者zclip的绑定一个id绑定一个值.
   表示未解决...
</pre><pre name="code" class="html" style="color: rgb(75, 75, 75); font-size: 13px; line-height: 19.5px;">

 
  

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript" src="http://www.daimajiayuan.com/templets/skins/js/jquery-1.8.1.min.js"></script> 
<script src="js/jquery.zclip.min.js"></script>
<input type="text" value="www.baidu.com" id="link"/>
<input type="button" value="复制" id="copyBtn"/>
<input type="button" onclick="test()" value="11111">
<input type="checkbox" checked="checked" value="123" >是否选中
<script type="text/javascript">
		function test(){
			//理解为,帮复制按钮绑定一个事件,然后给它指定好值
			$('#copyBtn').zclip({ 
	            path: "js/ZeroClipboard.swf", 
	            copy: function(){ 
	            	return $('#link').val();    
	            } 
	        }); 
		}
</script>

</body>
</html>
<!--  
	第二种方式,个人觉得这样会比较鸡肋,灵活性不高,但是确实可行  这个直接复制就测试就可以实现
<textarea id="content" rows="10" cols="60">这里是需要复制的内容这特么明显的有问题存在1~</textarea>
<input id="copy" type="button" data-clipboard-target="content" value="复制">
 <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/zeroclipboard/2.1.6/ZeroClipboard.min.js" ></script> 
 <script type="text/javascript">
	// 将【复制】按钮充当复制数据的元素载体
	var clip = new ZeroClipboard(document.getElementById("copy") );
</script> -->


你可能感兴趣的:(ZeroClipboard,jquery复制到粘贴板)