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


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 相关文章推荐
js与jQuery 获取父窗、子窗的iframe
Dec 20 Javascript
Jquery中find与each方法用法实例
Feb 04 Javascript
jQuery EasyUI datagrid实现本地分页的方法
Feb 13 Javascript
D3.js实现文本的换行详解
Oct 14 Javascript
Javascript 正则表达式校验数字的简单实例
Nov 02 Javascript
一个例子轻松学会Vue.js
Jan 02 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(二)
Jan 21 Javascript
基于angular实现模拟微信小程序swiper组件
Jun 11 Javascript
JavaScript+CSS相册特效实例代码
Sep 07 Javascript
Three.js实现绘制字体模型示例代码
Sep 26 Javascript
AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例
Apr 21 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
Feb 25 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中JSON的使用方法
2015/04/30 PHP
phpinfo()中Loaded Configuration File(none)的解决方法
2017/01/16 PHP
一个可以显示阴历的JS代码
2007/03/05 Javascript
比Jquery的document.ready更快的方法
2010/04/28 Javascript
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
JS模块与命名空间的介绍
2013/03/22 Javascript
JQuery的AJAX实现文件下载的小例子
2013/05/15 Javascript
jQuery父级以及同级元素查找介绍
2013/09/04 Javascript
使用百度地图api实现根据地址查询经纬度
2014/12/11 Javascript
JavaScript计算两个日期时间段内日期的方法
2015/03/16 Javascript
JavaScript中继承用法实例分析
2015/05/16 Javascript
JavaScript+html5 canvas实现本地截图教程
2020/04/16 Javascript
js数组与字符串常用方法总结
2017/01/13 Javascript
BootStrap Datetimepicker 汉化的实现代码
2017/02/10 Javascript
在vue中使用jointjs的方法
2018/03/24 Javascript
vue-cli项目修改文件热重载失效的解决方法
2018/09/19 Javascript
JavaScript进阶(三)闭包原理与用法详解
2020/05/09 Javascript
JavaScript 几种循环方式以及模块化的总结
2020/09/03 Javascript
[08:53]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS 选手采访
2021/03/11 DOTA
Win7上搭建Cocos2d-x 3.1.1开发环境
2014/07/03 Python
python读写ini配置文件方法实例分析
2015/06/30 Python
Python验证企业工商注册码
2015/10/25 Python
python学生管理系统开发
2019/01/30 Python
Python使用Tkinter实现滚动抽奖器效果
2020/01/06 Python
python自动下载图片的方法示例
2020/03/25 Python
利用Python实现Json序列化库的方法步骤
2020/09/09 Python
HTML5 placeholder(空白提示)属性介绍
2013/08/07 HTML / CSS
详解HTML5 Canvas绘制时指定颜色与透明度的方法
2016/03/25 HTML / CSS
中学教师实习自我鉴定
2013/09/28 职场文书
大学军训通讯稿
2014/01/13 职场文书
运动会表扬稿大全
2014/01/16 职场文书
优秀应届毕业生推荐信
2014/02/18 职场文书
2015年世界水日活动总结
2015/02/09 职场文书
酒店前台接待岗位职责
2015/04/02 职场文书
Nginx中break与last的区别详析
2021/03/31 Servers
Win Server2016远程桌面如何允许多用户同时登录
2022/06/10 Servers