美文网首页
js中剪贴板兼容性、判断复制成功或失败

js中剪贴板兼容性、判断复制成功或失败

作者: 云桃桃 | 来源:发表于2018-10-12 10:32 被阅读149次
  • html
 <input id="Input" type="text" value="" readonly/>
 <a  id="copyBtn">复制链接</a>
  • js
  // 复制
                $("#copyBtn").off('click').on('click',function(){
                    var link = document.getElementById("Input");
                    var userAgent = navigator.userAgent;
                    var isOpera = userAgent.indexOf("Opera") > -1;
                    if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
                        window.clipboardData.setData("Text", link.value);
                        // 判断是否复制成功,
                       //  ie下在点复制按钮之后,有是否禁用剪贴板选项,选择禁用即为失败
                        if(window.clipboardData.setData("Text", link.value)){
                            alert('复制成功!');
                        }else{
                           alert('复制失败!');
                        }
                    } else {
                        link.select();
                        document.execCommand("Copy");
                        alert('复制成功!');

                    }
                });
  • ps:刚刚遇到一个很崩溃的问题,为什么浮窗里的元素复制不上,但是别的地方就可以,布局没毛病,后来想到了可视元素的问题,复制页面上任何一个本来就有的input,可以复制,弹窗内的input是后来添加的,所以没获取到,因此,让一个input浮到可视区域之外就可以了,透明度设置为0,完美解决。

相关文章

网友评论

      本文标题:js中剪贴板兼容性、判断复制成功或失败

      本文链接:https://www.haomeiwen.com/subject/nqpwaftx.html