需求描述:
通过JS实现将页面中的某个元素的数据复制到剪切板上。
需求分析:
要用JS实现最大的问题就是浏览器的兼容性问题了。而且最大的问题还是浏览器出于安全型的考虑,所以像chrome,Firefox等浏览器都不让访问。
解决方案:
最终的解决方案还是通过flash实现的,在网上搜索(关键字:js access clipboard)了一大堆的相关资料,但是这或许是唯一的解决方案了吧!真没想到,flash还是最终的解决方法。当有一天flash彻底被浏览器给抛弃了我想这又将是一大问题了。但是这个问题也不是我所需要担心的flash是否会被淘汰还是一个问题呢。
啰嗦了一大堆。现在开始说说具体的实现了吧。
现在又很多的实现js插件,有原生的js实现的,也有是通过jQuery来实现的方法都擦不多吧,但是都是会用到ZeroClipboard.swf。
相关的插件用:
1).ZeroClipboard github,ZeroClipboard官网,这个是javascript实现的,不需要jQuery的依赖的。
2).zclip官网,这个是jQuery的一个插件要依赖jQuery。
具体使用,其实很简单就是看官方文档,但是我在单独实现(我使用的是jQuery的zclip)时,存在一些问题,但是结合到项目中的时候就没有问题了,我认为的问题是,在设置path的时候可能存在问题,如下:
$("#copy-button").zclip({
path: "js/ZeroClipboard.swf",
copy: function(){
return $(this).prev().val();
}
});
小结:
本文只是为了减少浪费各位的宝贵时间。把时间用在有意义的事情上。继续奋斗吧,年轻的一代。