码迷,mamicode.com
首页 > Web开发 > 详细

js实现复制到粘贴板,兼容各浏览器

时间:2016-10-13 02:23:39      阅读:317      评论:0      收藏:0      [点我收藏+]

标签:

网上搜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         //判断Ie
16         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实现复制到粘贴板,兼容各浏览器

标签:

原文地址:http://www.cnblogs.com/esales/p/5954616.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!