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

来源:互联网 发布:ubuntu下载地址 编辑:程序博客网 时间:2024/05/16 07:41

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


0 0
原创粉丝点击