单击复制文字兼容各浏览器的完美解决方案


Posted in Javascript onJuly 04, 2013

单击复制文字的js。找了很久,由于之前没有接触过,完全不知道兼容ie及标准dom浏览器,不仅仅要通过js,而且需要flash的帮忙。clipboard.swf这个在网上都有下载.

ie允许访问剪贴板。window.clipboardData可以访问
但是标准dom。看了一些文章说的都是用flash设置隐藏。但是flash10是不支持。
但是,还有个方法是可行的,固记录一下,以下方法支持标准dom.

(function () { 
window['Util'] = { 
CACHE:{}, 
getText : function(){ 
return Util.CACHE.CLIPBOARD_TEXT; 
}, 
successHide : function(){ 
alert("复制北海365网招聘邮件地址!"); 
}, 
Copy : function (pStr,hasReturn, isdo) { 
var html = []; 
html.push('<object type="application/x-shockwave-flash" data="clipboard.swf?gettext=Util.getText&success=Util.successHide" width="50" height="40" style="position:relative;top:11px;left:-50px;" id="ff_clipboard_swf">'); 
html.push('<param name="quality" value="high" />'); 
html.push('<param name="allowScriptAccess" value="sameDomain" />'); 
html.push('<param name="allowFullScreen" value="true" />'); 
html.push('<param name="wmode" value="transparent" />'); 
html.push('</object>'); 
var yu=document.getElementById('copy').innerHTML; 
document.getElementById('copy').innerHTML=yu+html.join(''); 
Util.CACHE.CLIPBOARD_TEXT = pStr; 
} 
} 
Util.Copy('zhaopin@beihai365.com '); 
})();


如果要兼容ie。还得加上

if (window.clipboardData) { 
window.clipboardData.setData("Text",pStr); 
Util.successHide(); 
}


最后这样能实现单击复制文字,并且兼容各浏览器。记住。swf的路径一定要对!如果不对是不出现手型的,这是特征。

(function () { 
window['Util'] = { 
CACHE:{}, 
getText : function(){ 
return Util.CACHE.CLIPBOARD_TEXT; 
}, 
successHide : function(){ 
alert("复制北海365网招聘邮件地址!"); 
}, 
Copy : function (pStr,hasReturn, isdo) { 
var copy=document.getElementById('copy'); 
if (window.clipboardData) { 
copy.onclick=function(){ 
window.clipboardData.setData("Text",pStr); 
Util.successHide(); 
} 
} else { 
var html = []; 
html.push('<object type="application/x-shockwave-flash" data="clipboard.swf?gettext=Util.getText&success=Util.successHide" width="50" height="40" style="position:relative;top:11px;left:-50px;" id="ff_clipboard_swf">'); 
html.push('<param name="quality" value="high" />'); 
html.push('<param name="allowScriptAccess" value="sameDomain" />'); 
html.push('<param name="allowFullScreen" value="true" />'); 
html.push('<param name="wmode" value="transparent" />'); 
html.push('</object>'); 
var yu=copy.innerHTML; 
copy.innerHTML=yu+html.join(''); 
Util.CACHE.CLIPBOARD_TEXT = pStr; 
} 
} 
} 
Util.Copy('zhaopin@beihai365.com '); 
})();
Javascript 相关文章推荐
JavaScript游戏之优化篇
Nov 08 Javascript
js对象之JS入门之Array对象操作小结
Jan 09 Javascript
用Mootools获得操作索引的两种方法分享
Dec 12 Javascript
js文件包含的几种方式介绍
Sep 28 Javascript
运行Node.js的IIS扩展iisnode安装配置笔记
Mar 02 Javascript
简介JavaScript中的unshift()方法的使用
Jun 09 Javascript
Bootstrap Chart组件使用教程
Apr 28 Javascript
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
May 01 jQuery
webpack3+React 的配置全解
Aug 21 Javascript
HTML5开发Kinect体感游戏的实例应用
Sep 18 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
Dec 04 Javascript
javascript实现移动端触屏拖拽功能
Jul 29 Javascript
把input初始值不写value的具体实现方法
Jul 04 #Javascript
js一般方法改写成面向对象方法的无限级折叠菜单示例代码
Jul 04 #Javascript
简单实用jquery版三级联动select示例
Jul 04 #Javascript
原生javascript和jquery判断浏览器版本等信息
Jul 04 #Javascript
js将控件隐藏的方法及display属性介绍
Jul 04 #Javascript
Jquery多选框互相内容交换的实例代码
Jul 04 #Javascript
js局部刷新页面时间具体实现
Jul 04 #Javascript
You might like
php读取数据库信息的几种方法
2008/05/24 PHP
PHP+SQL 注入攻击的技术实现以及预防办法
2010/12/29 PHP
探讨各种PHP字符串函数的总结分析
2013/06/05 PHP
解析php中const与define的应用区别
2013/06/18 PHP
php使用异或实现的加密解密实例
2013/09/04 PHP
YII Framework框架教程之日志用法详解
2016/03/14 PHP
PHP实现截取中文字符串不出现?号的解决方法
2016/12/29 PHP
调试php程序的简单步骤
2019/10/04 PHP
疯狂Jquery第一天(Jquery学习笔记)
2012/05/11 Javascript
原生js 秒表实现代码
2012/07/24 Javascript
jQuery实现类似滑动门切换效果的层切换
2013/09/23 Javascript
jquery validation验证身份证号,护照,电话号码,email(实例代码)
2013/11/06 Javascript
JavaScript支持的最大递归调用次数分析
2014/06/24 Javascript
使用cluster 将自己的Node服务器扩展为多线程服务器
2014/11/10 Javascript
详解jQuery选择器
2016/12/21 Javascript
前端面试知识点锦集(JavaScript篇)
2016/12/28 Javascript
bootstrap提示标签、提示框实现代码
2016/12/28 Javascript
Vue.js列表渲染绑定jQuery插件的正确姿势
2017/06/29 jQuery
nuxt踩坑之Vuex状态树的模块方式使用详解
2019/09/06 Javascript
layer.alert回调函数执行关闭弹窗的实例
2019/09/11 Javascript
vue vantUI tab切换时 list组件不触发load事件的问题及解决方法
2020/02/14 Javascript
使用Vant完成通知栏Notify的提示操作
2020/11/11 Javascript
详解python的数字类型变量与其方法
2016/11/20 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
Pycharm 实现下一个文件引用另外一个文件的方法
2019/01/17 Python
纯CSS3制作漂亮带动画效果的主机价格表
2015/04/25 HTML / CSS
英国知名的护肤彩妆与时尚配饰大型综合零售电商:Unineed
2016/11/21 全球购物
linux系统都有哪些运行级别
2012/04/15 面试题
小学班干部竞选演讲稿
2014/04/24 职场文书
网络工程专业大学生求职信
2014/10/01 职场文书
谢师宴答谢词
2015/01/05 职场文书
大学生英文求职信范文
2015/03/19 职场文书
高中军训感想
2015/08/07 职场文书
2016教师学习党章心得体会
2016/01/15 职场文书
优胜劣汰,强者为王——读《鲁滨逊漂流记》有感
2019/08/15 职场文书
postgres之jsonb属性的使用操作
2021/06/23 PostgreSQL