浏览器复制插件zeroclipboard使用指南
2016-07-15来源:易贤网

ZeroClipboard 是国外大神开发的一个用于剪贴板复制的 JS 插件,它是基于 Flash 来实现跨浏览器的复制功能的。当我们使用 ZeroClipboard 的时候,它会悄悄隐藏一个小小的 Flash 影片(swf),不会对我们的用户界面造成影响。我们只需要借助它实现复制功能就行了。

一个简单例子:

<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的安全限制

2026公务员·事业单位培训课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
推荐信息