zoukankan      html  css  js  c++  java
  • Zclip复制页面内容到剪贴板兼容各浏览器

    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() }, 2000);
                    }
                });
                
            });
        </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() }, 2000);
                    }
                });
                
            });
        </script>
    
    </head>
    <body>
    
    <table cellspacing="0" cellpadding="3" rules="all" border="1" style="background-color: White; border-color: #CCCCCC;  70%;  border-collapse: collapse;">
    <tr>
        <th>编号</th>
        <th>姓名</th>
        <th>链接</th>
    </tr>
    <tr>
    <td>1</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>2</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>
    View Code

    加入定位(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() }, 2000);
                    }
                });
                
            });
        </script>
    
    </head>
    <body>
    
    <table cellspacing="0" cellpadding="3" rules="all" border="1" style="background-color: White; border-color: #CCCCCC;  70%;  border-collapse: collapse;">
    <tr>
        <th>编号</th>
        <th>姓名</th>
        <th>链接</th>
    </tr>
    <tr>
    <td>1</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>2</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>
    View Code

    说明

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

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

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

  • 相关阅读:
    【06月18日】A股滚动市净率PB历史新低排名
    沪深300指数的跟踪基金最近1年收益排名
    主要股东近3年净买入排名
    北上资金近1周流入排行榜
    【06月12日】指数估值排名
    最近一月研报推荐次数最多的最热股票
    【06月10日】A股ROE最高排名
    JDK源码阅读-------自学笔记(九)(常用类型Integer初探)
    JDK源码阅读-------自学笔记(八)(数组演示冒泡排序和二分查找)
    JDK源码阅读-------自学笔记(七)(二维数组的浅析)
  • 原文地址:https://www.cnblogs.com/skm-blog/p/4670765.html
Copyright © 2011-2022 走看看