zoukankan      html  css  js  c++  java
  • 复制功能 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

  • 相关阅读:
    caffe常用层: batchNorm层和scale层
    简述configure、pkg-config、pkg_config_path三者的关系
    python删除list中元素的三种方法
    Leetcode 872. Leaf-Similar Trees
    Leetcode 508. Most Frequent Subtree Sum
    Leetcode 572. Subtree of Another Tree
    Leetcode 894. All Possible Full Binary Trees
    Leetcode 814. Binary Tree Pruning
    Leetcode 557. Reverse Words in a String III
    python 多维list声明时的小问题
  • 原文地址:https://www.cnblogs.com/Merrys/p/7523022.html
Copyright © 2011-2022 走看看