简单实现兼容各大浏览器的js复制内容到剪切板


Posted in Javascript onSeptember 09, 2015

因为网站文章需要提供几个按钮,单击后实现复制文章内容到剪贴板。

在网上搜索了很多内容,发现都比较乱这里自己整理下,分享给大家

效果图如下:

简单实现兼容各大浏览器的js复制内容到剪切板

之前使用的是window.clipboardData.setData,只能支持IE和火狐。360浏览器、搜狗等浏览器,都泪崩。所以,研究了ZeroClipboard,尽量使用js代码写。

使用前先引用三个东西(没有提供上传附件,这里就不提供下载地址了,很常见,大家自己找度娘吧):

jquery-1.4.1.min.js   
ZeroClipboard.js  
ZeroClipboard.swf 

下面是最简单的实现了,做一下解释。

原理

把一个不可见的 Adobe Flash movie元素放到一个DOM元素上。用户点击那DOM元素时,其实点击的是那不可见的Adobe Flash movie元素,Flash代码来做将内容复制到剪切板的操作。

注意:如果用js模拟一个在那flash上的点击事件,并不能进行复制内容到剪贴板。原因是浏览器和flash的安全限制。

a标签就是一个按钮,你可以替换成图片等,但是id要和下面的clip.glue("copy_text");一致。

clip.setText(AddContent+ document.getElementById("id_div").innerText + AddContent);这一句的di_div就是要复制的Div的ID。这个ID可以是其他的标签的ID。想复制什么就写什么的ID。

其他的就原样复制。你需要改的,就是最上面两行,第一行就是需要复制的标签,一般你的网页里已经有了。只要给他设置个ID即可。那么第一行可以删掉。第二行就可以自由发挥,反正用超链接也好,图片也好,只要ID和下面的一样即可。

对于事先准备的三个文件,请上传到代码中所示的路径中。这个据说是在服务器运行才行,我直接上传服务器测试的

这里已经是最简化的代码了。网上的那些乱七八糟的,实在不忍直视,所以,做出来就及时和大家分享一下。如果本文章有问题要问,可以在博客留言。

 下面是实现的代码:

<div id="id_div">文本内容</div><br><a href='#' id="copy_text" title="以纯文本形式复制">复制文章纯文本内容</a><br>
<script type="text/javascript" src="/js/global/jquery-1.4.1.min.js"></script>
<script type="text/javascript" src="/js/global/ZeroClipboard.js"></script>
<script type="text/javascript">
var clip = null;
ZeroClipboard.setMoviePath("/js/global/ZeroClipboard.swf");
$(document).ready(function(){
    var AddContent = "\r\n本原创文章来源:C++技术网,阅读更多原创精品文章,欢迎访问C++技术网。\r\n";
  clip = new ZeroClipboard.Client();
  clip.setHandCursor(true);
  clip.setText(AddContent+ document.getElementById("id_div").innerText + AddContent);
  clip.glue("copy_text");
  clip.addEventListener("complete", function(){
    alert("文章纯文本内容已经复制到剪切板!");
  });
});
</script>
Javascript 相关文章推荐
JavaScript学习历程和心得小结
Aug 16 Javascript
JS获取URL中参数值(QueryString)的4种方法分享
Apr 12 Javascript
使用jQuery实现星级评分代码分享
Dec 09 Javascript
javascript中HTMLDOM操作详解
Dec 11 Javascript
jQuery实现自定义事件的方法
Apr 17 Javascript
学习JavaScript图片预加载模块
Nov 07 Javascript
JavaScript实现二维坐标点排序效果
Jul 18 Javascript
微信小程序实现点赞、取消点赞功能
Nov 02 Javascript
element-ui组件table实现自定义筛选功能的示例代码
Mar 15 Javascript
如何配置vue.config.js 处理static文件夹下的静态文件
Jun 19 Javascript
Openlayers学习之地图比例尺控件
Sep 28 Javascript
使用vue判断当前环境是安卓还是IOS
Apr 12 Vue.js
jQuery实现MSN中文网滑动Tab菜单效果代码
Sep 09 #Javascript
js基于面向对象实现网页TAB选项卡菜单效果代码
Sep 09 #Javascript
JS实现自动变换的菜单效果代码
Sep 09 #Javascript
jQuery实现点击小图片淡入淡出显示大图片特效
Sep 09 #Javascript
JS实现自动变化的导航菜单效果代码
Sep 09 #Javascript
使用impress.js制作幻灯片
Sep 09 #Javascript
谈谈impress.js初步理解
Sep 09 #Javascript
You might like
Yii2 rbac权限控制之rule教程详解
2016/06/23 PHP
javascript this用法小结
2008/12/19 Javascript
jqPlot Option配置对象详解
2009/07/25 Javascript
JS分割字符串并放入数组的函数
2011/07/04 Javascript
jquery.form.js用法之清空form的方法
2014/03/07 Javascript
JavaScript汉诺塔问题解决方法
2015/04/21 Javascript
Bootstrap开发实战之响应式轮播图
2016/06/02 Javascript
浅谈jquery之on()绑定事件和off()解除绑定事件
2016/10/26 Javascript
基于easyui checkbox 的一些操作处理方法
2017/07/10 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
2017/07/20 Javascript
用原生 JS 实现 innerHTML 功能实例详解
2019/04/03 Javascript
vue路由拦截器和请求拦截器知识点总结
2019/11/08 Javascript
Javascript新手入门之字符串拼接与变量的应用
2020/12/03 Javascript
Python操作json数据的一个简单例子
2014/04/17 Python
Python字符编码判断方法分析
2016/07/01 Python
python 数据清洗之数据合并、转换、过滤、排序
2017/02/12 Python
使用Python抓取豆瓣影评数据的方法
2018/10/17 Python
Python实现的删除重复文件或图片功能示例【去重】
2019/04/23 Python
python实现输入的数据在地图上生成热力图效果
2019/12/06 Python
Python3基本输入与输出操作实例分析
2020/02/14 Python
Python 读取xml数据,cv2裁剪图片实例
2020/03/10 Python
Python列表如何更新值
2020/05/27 Python
Python钉钉报警及Zabbix集成钉钉报警的示例代码
2020/08/17 Python
Dr. Martens马汀博士澳大利亚官网:马丁靴鼻祖
2019/07/02 全球购物
机电专业大学生职业规划书范文
2014/02/25 职场文书
会计专业个人自我鉴定
2014/03/21 职场文书
文科毕业生自荐书范文
2014/04/17 职场文书
优秀员工评优方案
2014/06/13 职场文书
应届大学生自荐书
2014/06/17 职场文书
公司领导九九重阳节发言稿2014
2014/09/25 职场文书
单位委托书
2014/10/15 职场文书
地震慰问信
2015/02/14 职场文书
离婚律师函范本
2015/05/27 职场文书
幼儿园春季开学通知
2015/07/16 职场文书
幼儿教师继续教育培训心得体会
2016/01/19 职场文书
OpenCV实现普通阈值
2021/11/17 Java/Android