• 复制功能 in pc&mb


     在pc端我经常这样:

    // JScript 文件
    function copyToClip(type, copytext) {
        if (window.clipboardData) {
            if (window.clipboardData.setData("Text", copytext)) {
                alert("复制成功!")
                return;
            }
        }
        else if (window.netscape) {
            try {
                netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
                var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
                if (clip) {
                    var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
                    if (trans) {
                        trans.addDataFlavor('text/unicode');
                        var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
                        str.data = copytext;
                        trans.setTransferData("text/unicode", str, copytext.length * 2);
                        var clipid = Components.interfaces.nsIClipboard;
                        clip.setData(trans, null, clipid.kGlobalClipboard);
                        alert("复制成功!")
                        return;
                    }
                }
            }
            catch (e) {
            }
        }
        prompt("您使用的浏览器不允许自动复制,请按下 Ctrl+C 进行复制", copytext);
    }

    不支持的情况就弹出input[type=text],使用.select()选中value,让用户自己复制。

    移动端直接用的插件 clipboard-js ,介绍的最后边有说明兼容版本,在苹果5及以上亲测可用,华为自带uc浏览器(测试华为荣耀7,荣耀8,荣耀9)皆不可用,其他常用浏览器没问题。

    2017.12.15  今天碰见一个新的问题,列表中每一行都有一个 复制 按钮 然后我尝试获取在页面中添加onclick事件传入this,确定是哪一个需要复制,结果是第一次点击无效。。。然后翻了clipboard的github,找到解决方案:https://github.com/zenorocha/clipboard.js/blob/master/demo/constructor-nodelist.html#L18-L19

  • 相关阅读:
    More on wrapper types
    使用Solr索引MySQL数据
    Java线程池
    Jedis-returnResource使用注意事项
    sh脚本异常,binsh^M bad interpreter No such file or directory
    Java集合类从属关系
    SonarQube+Jenkins,搭建持续交付平台
    初始化块和静态初始化块的区别
    从SonarQube谈设计模式
    Github+Hexo,搭建专属网站
  • 原文地址:https://www.cnblogs.com/Merrys/p/7523022.html
Copyright © 2020-2023  润新知