JS实现文本复制功能,兼容主流浏览器
2015-03-15 19:02
435 查看
声明:本文是经过多方搜索、整理而成。转载至http://my.oschina.net/ichendong/blog/316493
最近工作很烦心,为了让自己冷静下来,开始把平时碰到的问题、知识点以博客的形式记录下来,分享给一线的战友们!
不是你不能,而是你对自己的要求太低
-------------------------------------------------------不罗嗦了,进入正题,完美分割-------------------------------------------------------------
jQuery-zclip是一个复制内容到剪贴板的jQuery插件,使用它我们不用考虑不同浏览器和浏览器版本之间的兼容问题。jQuery-zclip插件需要Flash的支持,使用时记得电脑安装Adobe
Flash Player。
加载jQuery和zClip,地址请根据各自的存放地址做相应修改。
js实现点击复制的代码(本地测试无法使用,上传到服务器测试)
需要注意如果是复制的内容来自输入框input、textarea等,copy对象使用:
如果是复制的内容来自页面元素div、p之类的,copy对象使用:
提供了3个方法
第二种:转载 http://www.daimajiayuan.com/sitejs-17973-1.html
网上一搜一大堆,单纯使用js方法也不是没有,但是由于各浏览器的安全机制不同,不是跨浏览器的。去看了几个常用的网站,都是用的透明flash遮挡“复制到剪贴板”按钮,所以当你点击“复制到剪贴板”的时候,点击的其实是flash,然后把你需要复制的内容传入到了flash,然后在通过flash的复制功能把传入的内容复制到了剪贴板。
加载JQuery库和zclip插件
<script type="text/javascript" src="http://www.daimajiayuan.com/templets/skins/js/jquery-1.8.1.min.js"></script>
<script src="http://www.daimajiayuan.com/member/templets/js/jquery.zclip.min.js"></script>
下面是一个小demo,主要是复制文本框中的链接到剪贴板。
HTML
<input type="text" value="www.baidu.com" id="link">
<span id="copyBtn">复制链接</span>
然后加入脚本
<script>
$('#copyBtn').zclip({
path: "ZeroClipboard.swf",
copy: function(){
return $('#link').val();
}
});
</script>
以上都须要在服务环境才能测试。不懂怎么回事!知道的朋友可以解答一下,谢谢!
最近工作很烦心,为了让自己冷静下来,开始把平时碰到的问题、知识点以博客的形式记录下来,分享给一线的战友们!
不是你不能,而是你对自己的要求太低
-------------------------------------------------------不罗嗦了,进入正题,完美分割-------------------------------------------------------------
jQuery-zclip是一个复制内容到剪贴板的jQuery插件,使用它我们不用考虑不同浏览器和浏览器版本之间的兼容问题。jQuery-zclip插件需要Flash的支持,使用时记得电脑安装Adobe
Flash Player。
加载jQuery和zClip,地址请根据各自的存放地址做相应修改。
<script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/jquery.zclip.min.js"></script>
js实现点击复制的代码(本地测试无法使用,上传到服务器测试)
$(function(){ $('#copy_input').zclip({ path: 'js/ZeroClipboard.swf', copy: function(){ //复制内容 return $('#mytext').val(); }, afterCopy: function(){ //复制成功 $("<span id='msg'/>").insertAfter($('#copy_input')).text('复制成功'); } }); });
需要注意如果是复制的内容来自输入框input、textarea等,copy对象使用:
copy: function(){ return $('#mytext').val(); }
如果是复制的内容来自页面元素div、p之类的,copy对象使用:
copy: $('#mytext').text();
配置说明
path:swf的路径(复制主要是用flash解决不同浏览器的复制) copy:待复制的内容, 可以是静态内容, 也可以 return 动态内容 beforeCopy:复制之前要做的function; afterCopy:复制之后要做的function;
提供了3个方法
show:$(selected).zclip('show'); //复制功能有效 hide:$(selected).zclip('hide'); //复制功能无效 remove:$(selected).zclip('remove'); //完全移除复制功能
第二种:转载 http://www.daimajiayuan.com/sitejs-17973-1.html
网上一搜一大堆,单纯使用js方法也不是没有,但是由于各浏览器的安全机制不同,不是跨浏览器的。去看了几个常用的网站,都是用的透明flash遮挡“复制到剪贴板”按钮,所以当你点击“复制到剪贴板”的时候,点击的其实是flash,然后把你需要复制的内容传入到了flash,然后在通过flash的复制功能把传入的内容复制到了剪贴板。
加载JQuery库和zclip插件
<script type="text/javascript" src="http://www.daimajiayuan.com/templets/skins/js/jquery-1.8.1.min.js"></script>
<script src="http://www.daimajiayuan.com/member/templets/js/jquery.zclip.min.js"></script>
下面是一个小demo,主要是复制文本框中的链接到剪贴板。
HTML
<input type="text" value="www.baidu.com" id="link">
<span id="copyBtn">复制链接</span>
然后加入脚本
<script>
$('#copyBtn').zclip({
path: "ZeroClipboard.swf",
copy: function(){
return $('#link').val();
}
});
</script>
以上都须要在服务环境才能测试。不懂怎么回事!知道的朋友可以解答一下,谢谢!
相关文章推荐
- js实现点击复制当前文本到剪贴板功能(兼容所有浏览器)
- js实现点击复制当前文本到剪贴板功能(兼容所有浏览器)
- JS实现复制功能,兼容各大主流浏览器复制神器 ZeroClipboard
- 【转】js实现复制到剪贴板功能,兼容所有浏览器
- 【原】js实现复制到剪贴板功能,兼容所有浏览器
- 黄聪:JS实现复制到剪贴板功能,兼容所有浏览器(转)
- js实现复制到剪切板功能,兼容所有浏览器
- js实现复制到剪贴板功能,兼容所有浏览器
- js实现复制到剪贴板功能,兼容所有浏览器
- ZeroClipboard实现多个浏览器兼容的复制文本到剪贴板的功能
- jQuery+layer+clipboard实现复制到剪贴板的功能,兼容各大主流浏览器
- js实现复制到剪贴板功能,兼容所有浏览器
- js实现浏览器兼容复制功能
- javascript 实现禁止右键,复制,选取文本 (兼容firefox,IE,chrome等主流浏览器)
- js实现复制到剪贴板功能,兼容所有浏览器
- js实现复制到剪贴板功能,兼容所有浏览器
- JS实现复制内容到剪贴板功能兼容所有浏览器(推荐)
- 【转】js实现复制到剪贴板功能,兼容所有浏览器
- js实现复制到剪贴板功能,兼容所有浏览器
- ZeroClipboard实现多个浏览器兼容的复制文本到剪贴板的功能