Zclip:复制页面内容到剪贴板兼容各浏览器

WEB开发中,要让用户复制页面中的一段代码、URL地址等信息,为了避免用户拖动鼠标再进行右键复制操作而可能出现的差错,我们可以直接在页面中放置一个复制按钮,点击这个复制按钮,内容将会被复制,然后用户可以粘贴到想粘贴的地方,下面介绍一种使用Zclip实现的兼容主流浏览器的方式。

利用插件来写的话就比较简单,源码下载

<html>
<head>
<title>Index</title>
<script src="jquery-1.7.1.min.js" type="text/javascript"></script>
<script src="jquery.zclip.js"></script>
<script type="text/javascript">
$(function () {
$('.copy').zclip({
path: 'ZeroClipboard.swf',
copy: function () {//复制内容
return $(this).prev().prev().val();
},
afterCopy: function () {//复制成功
var msg= $(this).next().show();
setTimeout(function () { msg.hide() }, );
}
}); });
</script> </head>
<body>
<div>
<textarea>请输入内容</textarea><br/>
<a href="#" class="copy">复制内容</a>
<span style="color:red; display:none;">复制成功</span>
</div> </body>
</html>

参数说明

path:swf调用路径,必填项,默认为:ZeroClipboard.swf

copy:复制的内容,必填项,任意字符串,也可以是回调函数返回的内容

beforeCopy:复制内容前回调函数,可选

afterCopy:复制内容后回调函数,可选

更多属性参考:http://steamdev.com/zclip/

Table中循环绑定复制链接

工作中碰到一个问题,在这里把问题和解决方案列出来,仅供参考,要求实现下面的形式:

下面的写法有并不能直接实现效果:

<!DOCTYPE html>
<html>
<head>
<title>table</title>
<script src="jquery-1.7.1.min.js" type="text/javascript"></script>
<script src="jquery.zclip.js"></script>
<script type="text/javascript">
$(function () {
$('.copy').zclip({
path: 'ZeroClipboard.swf',
copy: function () {//复制内容
return $(this).prev().prev().html();
},
afterCopy: function () {//复制成功
var msg= $(this).next().show();
setTimeout(function () { msg.hide() }, );
}
}); });
</script> </head>
<body> <table cellspacing="" cellpadding="" rules="all" border="" style="background-color: White; border-color: #CCCCCC; width: 70%; border-collapse: collapse;">
<tr>
<th>编号</th>
<th>姓名</th>
<th>链接</th>
</tr>
<tr>
<td></td>
<td>张三</td>
<td>
<span>http://www.baidu.com</span><br/>
<a href="#" class="copy">复制链接</a>
<span style="color:red; display:none;">复制成功</span>
</td>
</tr>
<tr>
<td></td>
<td>李四</td>
<td>
<span>http://www.taobao.com</span><br/>
<a href="#" class="copy">复制链接</a>
<span style="color:red; display:none;">复制成功</span>
</td>
</tr> </table> </body>
</html>

加入定位(position: relative;)之后就行了,我也没有搞明白是为什么,在此记录一下,如果有高手路过,请指点一下。源码下载

<!DOCTYPE html>
<html>
<head>
<title>table</title>
<style type="text/css">
.pos{
position: relative;
}
</style>
<script src="jquery-1.7.1.min.js" type="text/javascript"></script>
<script src="jquery.zclip.js"></script>
<script type="text/javascript">
$(function () {
$('.copy').zclip({
path: 'ZeroClipboard.swf',
copy: function () {//复制内容
return $(this).prev().prev().html();
},
afterCopy: function () {//复制成功
var msg= $(this).next().show();
setTimeout(function () { msg.hide() }, );
}
}); });
</script> </head>
<body> <table cellspacing="" cellpadding="" rules="all" border="" style="background-color: White; border-color: #CCCCCC; width: 70%; border-collapse: collapse;">
<tr>
<th>编号</th>
<th>姓名</th>
<th>链接</th>
</tr>
<tr>
<td></td>
<td>张三</td>
<td class="pos">
<span>http://www.baidu.com</span><br/>
<a href="#" class="copy">复制链接</a>
<span style="color:red; display:none;">复制成功</span>
</td>
</tr>
<tr>
<td></td>
<td>李四</td>
<td class="pos">
<span>http://www.taobao.com</span><br/>
<a href="#" class="copy">复制链接</a>
<span style="color:red; display:none;">复制成功</span>
</td>
</tr> </table> </body>
</html>

说明

1、代码下载后需要部署到服务器上运行才行,比如在本地用IIS建一个网站或者虚拟目录

2、参考文章: http://www.helloweba.com/view-blog-222.html

http://www.cnblogs.com/RascallySnake/archive/2010/05/07/1729563.html

Zclip复制页面内容到剪贴板兼容各浏览器的更多相关文章

  1. Zclip:复制页面内容到剪贴板兼容各浏览器

    WEB开发中,要让用户复制页面中的一段代码.URL地址等信息,为了避免用户拖动鼠标再进行右键复制操作而可能出现的差错,我们可以直接在页面中放置一个复制按钮,只需要轻轻一点这个复制按钮,内容将会被复制, ...

  2. Zclip点击复制内容到剪贴板兼容各浏览器

    WEB开发中,要让用户复制页面中的一段代码.URL地址等信息,为了避免用户拖动鼠标再进行右键复制操作而可能出现的差错,我们可以直接在页面中放置一个复制按钮,只需要轻轻一点这个复制按钮,内容将会被复制, ...

  3. JS复制内容到剪贴板(兼容FF/Chrome/Safari所有浏览器)

    现在浏览器种类也越来越多,诸如 IE.Firefox.Chrome.Safari等等,因此现在要实现一个js复制内容到剪贴板的小功能就不是一件那么容易的事了. 在FLASH 9 时代,有一个通杀所有浏 ...

  4. JS复制内容到剪贴板: 兼容IE、Firefox、Chrome、Safari所有浏览器【转】

    正 文: 现在浏览器种类也越来越多,诸如 IE.Firefox.Chrome.Safari等等,因此现在要实现一个js复制内容到剪贴板的小功能就不是一件那么容易的事了. 在FLASH 9 时代,有一个 ...

  5. js复制文本内容到剪贴板

    记录一下使用clipboardData复制不成功. 1.定义一个按钮执行复制 <div> <button type="button" id="copyR ...

  6. 使用clipboard.js复制页面内容到剪切板

    最近在做一个的智能客服Web端浏览器应用,其中有一项需求是客户在获取系统返回的 答案后点击“复制答案”按钮将答案复制到系统剪切板.本以为这是一个小case,但是发现如果 要对各种主流浏览器都有良好的兼 ...

  7. JS复制制定内容到剪贴板怎么做?

    可以使用input也可以使用textare文本域来做(而且这个input/textarea不能够被隐藏): <a href="javascript:;" onclick=&q ...

  8. 禁止页面后退JS(兼容各浏览器)

    <script src="${ctxPath}/media/lib/jquery.history.js"></script> <script> ...

  9. JS实现复制到剪贴板(兼容FF/Chrome/Safari所有浏览器)

    现在浏览器种类也越来越多,诸如 IE.Firefox.Chrome.Safari等等,因此现在要实现一个js复制内容到剪贴板的小功能就不是一件那么容易的事了. 在FLASH 9 时代,有一个通杀所有浏 ...

随机推荐

  1. frame和iframe的区别

    转自:http://blog.csdn.net/lyr1985/article/details/6067026        CSDN 1.frame不能脱离frameSet单独使用,iframe可以 ...

  2. Linux下对于inode的理解

    0x01 什么是inode 文件存储在硬盘上,硬盘的最小存储单位叫做“扇区”(Sector),每个扇区储存512字节: 操作系统读取硬盘时,不会一个个扇区地读取,这样效率低,而是一次性连续读取多个扇区 ...

  3. Splash Screen开场屏在Android中的实现

    很多网友可能发现近期Tencent推出的手机QQ Android版包含了一个开场屏Splash Screen载入效果,通常游戏或大型软件打开时可能需要一个释放解析资源的过程,需要一个前台的动画播放和后 ...

  4. [leetcode]_Valid Parentheses

    题目:判断给定字符串中的括号是否合法.题目中涉及三种符号'(' + ')' , '[' + ']' , '{' + '}'. 思路:利用stack来存储符号. 注意申请char型stack是: Sta ...

  5. Knockout.Js官网学习(数组observable)

    前言 如果你要探测和响应一个对象的变化,你应该用observables. 如果你需要探测和响应一个集合对象的变化,你应该用observableArray . 在很多场景下,它都非常有用,比如你要在UI ...

  6. "/Date(1405056837780)/" 时间转换

    //往往json传过来的时间都是"/Date(1405056837780)/" //转换需要的方法 String.prototype.ToString = function (fo ...

  7. 理解 JavaScript Scoping & Hoisting(二)

    理解 JavaScript Scoping & Hoisting(二) 转自:http://www.jb51.net/article/75090.htm 这篇文章主要介绍了理解 JavaScr ...

  8. cassandra 之 jdbc 使用【java、scala】

    1.数据库创建 参考接上文cassandra入门 http://www.cnblogs.com/piaolingzxh/p/4197833.html 2.下载jdbc驱动源码,构建jar包 源码下载地 ...

  9. JSP标记

    JSP标记是JSP页面中很重要的组成部分,JSP标记包括指令标记.动作标记和自定义标记.其中自定义标记主要讲述与Tag文件有关的Tag标记. 一 指令标记page Page指令标记,简称page指令, ...

  10. DevExpress 重编译 替换强命名 修改源码

    本文以DevExpress 11.1.8举例 必须满足几个条件 1. 必须有DXperience相应版本的全部源代码SourceCode.把全部源代码复制到X:\Program Files\DevEx ...