zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Windows编程的Notification和Message
    static局部变量的默认初始化规则
    Windows消息的wParam和lParam及一些函数类似参数的一些用法简记
    阅读与检索
    多线程编程的几个关键点
    MSDN使用之菜单索引
    从不同角度简单阐述消息机制
    Windows程序中什么事件发生时,窗口过程会收到一条WM_SIZE消息
    三色二叉树——树形dp
    2020数学网课知识点总结
  • 原文地址:https://www.cnblogs.com/shensigzs/p/5321479.html
Copyright © 2011-2022 走看看