浏览器复制插件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>
  <script src="~/Scripts/ZeroClipboard.js"></script>
 </body>
 <script>

 var client = new ZeroClipboard( $("#copy-button") );
  client.on('ready', function (event) {

      client.on('copy', function (event) {
        event.clipboardData.setData('text/plain', event.target.innerHTML);
        alert("复制成功");
      });

      client.on('aftercopy', function (event) {
        //复制之后的操作,如果不是自动在本页面粘贴,请把此事件备注掉
        console.log('Copied text to clipboard: ' + event.data['text/plain']);
      });
    });

    client.on('error', function (event) {
      //出错的时候该干嘛
      // console.log( 'ZeroClipboard error of type "' + event.name + '": ' + event.message );
      ZeroClipboard.destroy();
    });
 </script>
</html>

2.2版本需要引用jquery,要习惯把js代码写到页面底部,经测试,发现此代码不支持IE10/11,以下提供兼容IE的function,替换js部分即可

<script>
    $(function() {
      var text="取文本";
      var msg="复制成功";
      clipboard("btn_copy",text,msg);
    });

    //参数说明
    //button:按钮id
    //text:要复制的文本
    //msg:复制成功提示文本
    function clipboard(button,text,msg) {

      if (window.clipboardData) {    //for ie
        var copyBtn = document.getElementById(button);
        copyBtn.onclick = function () {
          window.clipboardData.setData('text', text);
          alert(msg);
        }
      } else {
        var client = new ZeroClipboard($("#" + button));
        client.on('ready', function (event) {

          client.on('copy', function (event) {
            event.clipboardData.setData("text/plain", text);
            alert(msg);
          });
        });

        client.on('error', function (event) {
          ZeroClipboard.destroy();
        });
      }
      return false;
    }
  </script>

最后,需要注意的是不要在本地调度,你会发现不会生效,因为Flash的安全限制

zeroclipboard源码:https://github.com/zeroclipboard/zeroclipboard
zeroclipboard官网:zeroclipboard.org

(0)

相关推荐

  • 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

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

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

  • 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复制到剪切板的flash

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

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

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

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

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

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

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

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

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

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

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

  • js 剪切板应用clipboardData详细解析

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

随机推荐