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


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封装的textarea操作方法集合(兼容很好)
Nov 16 Javascript
JQuery中根据属性或属性值获得元素(6种情况获取方法)
Jan 17 Javascript
让元素在网页中可拖动示例代码
Aug 13 Javascript
利用javascript实现web页面中指定区域打印
Oct 30 Javascript
jquery缓动swing liner控制动画过程不同时刻的速度
May 29 Javascript
BootStrap fileinput.js文件上传组件实例代码
Feb 20 Javascript
vuejs手把手教你写一个完整的购物车实例代码
Jul 06 Javascript
使用node搭建自动发图文微博机器人的方法
Mar 22 Javascript
实现vuex与组件data之间的数据同步更新方式
Nov 12 Javascript
JS数组进阶示例【数组的几种函数用法】
Jan 16 Javascript
vue 解决无法对未定义的值,空值或基元值设置反应属性报错问题
Jul 31 Javascript
ReactRouter的实现方法
Jan 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&amp;&amp;mysql)五
2006/10/09 PHP
IIS6.0中配置php服务全过程解析
2013/08/07 PHP
Laravel框架实现简单的学生信息管理平台案例
2019/05/07 PHP
laravel利用中间件防止未登录用户直接访问后台的方法
2019/09/30 PHP
由浅到深了解JavaScript类
2006/09/08 Javascript
javascript 密码强度验证规则、打分、验证(给出前端代码,后端代码可根据强度规则翻译)
2010/05/18 Javascript
复制Input内容的js代码_支持所有浏览器,修正了Firefox3.5以上的问题
2010/06/21 Javascript
$.get获取一个文件的内容示例代码
2013/09/11 Javascript
JavaScript仿网易选项卡制作代码
2016/10/06 Javascript
Vue.js仿Metronic高级表格(二)数据渲染
2017/04/19 Javascript
JS实现页面内跳转的简单代码
2017/09/03 Javascript
vue实现商城购物车功能
2017/11/27 Javascript
React组件中的this的具体使用
2018/02/28 Javascript
在react-router4中进行代码拆分的方法(基于webpack)
2018/03/08 Javascript
微信小程序实现留言板功能
2018/11/02 Javascript
js实现导航跟随效果
2018/11/17 Javascript
微信小程序 高德地图路线规划实现过程详解
2019/08/05 Javascript
通过layer实现可输入的模态框的例子
2019/09/27 Javascript
element-ui和vue表单(对话框)验证提示语(残留)清除操作
2020/09/11 Javascript
python迭代器的使用方法实例
2013/11/21 Python
Python打印斐波拉契数列实例
2015/07/07 Python
Python实现拷贝多个文件到同一目录的方法
2016/09/19 Python
Django中多种重定向方法使用详解
2019/07/17 Python
python 设置xlabel,ylabel 坐标轴字体大小,字体类型
2019/07/23 Python
Python计算矩阵的和积的实例详解
2020/09/10 Python
python实现经纬度采样的示例代码
2020/12/10 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
CSS3 旋转立方体问题详解
2020/01/09 HTML / CSS
卡西欧B级产品官方网站:Casio Outlet
2018/05/22 全球购物
艺术爱好者的自我评价分享
2013/10/08 职场文书
医学专业本科毕业生自我鉴定
2013/12/28 职场文书
《千年梦圆在今朝》教学反思
2014/02/24 职场文书
代理词怎么写
2015/05/25 职场文书
2016公司中秋节寄语
2015/12/07 职场文书
浅谈Redis存储数据类型及存取值方法
2021/05/08 Redis
Python 居然可以在 Excel 中画画你知道吗
2022/02/15 Python