clipboard.js 是一个复制到剪贴板的库。javascript
github:https://github.com/zenorocha/clipboard.jsjava
兼容性:IE9一下不支持。git
再作微信端的项目接到了一个需求。点击按钮把指定的内容复制到剪贴板中。github
刚开始用的是:document.execCommand(
"Copy"
); 大部分的属性只有IE支持。好比:贴贴。
浏览器
想了想我只用复制并且用的是微信端。只要安卓和苹果支持可以使用就能够了。微信
<input type="text" id="contents" value="测试复制"> <a id="but" onclick="jsCopy()">点击复制</a> <script type="text/javascript"> function jsCopy(){ var e=document.getElementById("contents");//对象是contents e.select(); //选择对象 tag=document.execCommand("Copy","false",null); //执行浏览器复制命令 if(tag){ alert('复制内容成功'); } } </script>
emmmmmmm。缺点就是:必需要一个input文本框才能使用。并且还不能display:none隐藏掉。必须opacity。测试
有点坑,先测试,安卓华为:成功。苹果5:失败。spa
苹果失败了那就pass掉。code
从网上找找有没有库。ZeroClipboard.js对象
这个库经过加载一个 Flash 来实现的。这个我是拒绝的。不事后来测试了一下。安卓成功,苹果失败。(可能没仔细研究)
再找:
Clipboard.js 。体积少,没有引入乱七八糟的东西。我比较喜欢。
<a id="but" >点击复制</a>
<script type="text/javascript"> var clipboard = new Clipboard('#but', { text: function() { // 若是想从其它DOM元素内容复制。应该是target:function(){return: }; return '测试复制'; } }); clipboard.on('success', function(e) { alert("复制成功"); }); clipboard.on('error', function(e) { alert("复制失败"); }); </script>
结构比较明确。new一个实例。而后调用方法。
再测试,安卓:成功。 苹果:失败。
why!!!!!
从网上找:
想让苹果支持这个功能。元素只能为button标签。其它均不成。
<button id="but" >点击复制</button> <script type="text/javascript"> var clipboard = new Clipboard('#but', { text: function() { // 若是想从其它DOM元素内容复制。应该是target:function(){return: }; return '测试复制'; } }); clipboard.on('success', function(e) { alert("复制成功"); }); clipboard.on('error', function(e) { alert("复制失败"); }); </script>
成功!。