首页 > 代码库 > js实现复制到粘贴板,兼容各浏览器
js实现复制到粘贴板,兼容各浏览器
网上搜js实现复制粘贴的文章一大堆,但是没几个能用的。有的文章说Clipboard Copy解决,利用一个clipboard.swf作为桥梁,复制内容到剪贴板。
听说的是兼容IE、Firefox、Opera、chrome、 Safari,但是必须浏览器支持Flash,考虑到Flash支持不是100%,所以我摒弃了这个方案。
说说我的实现,灵感来自优酷分享的复制,在此之上加以修改的。经测试,支持IE、Firefox、Opera、chrome、搜狗浏览器、360等主流浏览器,Safari是本身不支持js复制的,搜狗5.几也不支持。使用前引入jquery,如有不支持的浏览器版本,望告知。
1 /** 2 * 复制文本 3 * @param id 复制节点Id 该节点不能隐藏 4 */ 5 function copyText(id){ 6 //获取节点 7 var n = $("#" + id); 8 if(n == null){ 9 //节点为空直接返回10 return;11 }12 try {13 //取得浏览器的userAgent字符串14 var userAgent = navigator.userAgent;15 //判断Ie16 if (userAgent.indexOf("MSIE") > 0){17 window.clipboardData.setData(‘text‘, n.val());18 var copyContent = window.clipboardData.getData("text");19 //判断复制成功,ie复制可选择是否允许20 if(copyContent == n.val()){21 alert("复制成功。现在您可以粘贴(Ctrl+v)到Blog 或BBS中了。");22 return;23 }24 }else{25 n.select();26 therange = void 0;27 if (n.createTextRange) therange = n.createTextRange();28 therange = therange ? therange : document;29 if (therange.execCommand("Copy")) {30 alert("复制成功。现在您可以粘贴(Ctrl+v)到Blog 或BBS中了。");31 return;32 }33 }34 } catch (i) {35 }36 alert("您使用的浏览器不支持此复制功能,请使用Ctrl+C或鼠标右键。");37 }
js实现复制到粘贴板,兼容各浏览器
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。