JS实现文本复制功能,兼容主流浏览器

本文介绍了一种使用jQuery-zclip插件实现网页内容复制功能的方法,包括如何加载插件、代码实现及注意事项。适用于不同浏览器的兼容问题,通过Flash支持解决了复制难题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

声明:本文是经过多方搜索、整理而成。转载至http://my.oschina.net/ichendong/blog/316493

最近工作很烦心,为了让自己冷静下来,开始把平时碰到的问题、知识点以博客的形式记录下来,分享给一线的战友们!

不是你不能,而是你对自己的要求太低

-------------------------------------------------------不罗嗦了,进入正题,完美分割-------------------------------------------------------------

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插件

 
  1. <script type="text/javascript" src="http://www.daimajiayuan.com/templets/skins/js/jquery-1.8.1.min.js"></script> 
  2. <script src="http://www.daimajiayuan.com/member/templets/js/jquery.zclip.min.js"></script> 

下面是一个小demo,主要是复制文本框中的链接到剪贴板。

HTML

 
  1. <input type="text" value="www.baidu.com" id="link"> 
  2. <span id="copyBtn">复制链接</span> 

然后加入脚本

 
  1. <script> 
  2.         $('#copyBtn').zclip({ 
  3.             path: "ZeroClipboard.swf", 
  4.             copy: function(){ 
  5.                 return $('#link').val(); 
  6.         } 
  7.         }); 
  8. </script> 

以上都须要在服务环境才能测试。不懂怎么回事!知道的朋友可以解答一下,谢谢!











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值