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


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实现半透明遮罩层效果具体代码
Jun 06 Javascript
JavaScript等比例缩放图片控制超出范围的图片
Aug 06 Javascript
input标签内容改变的触发事件介绍
Jun 18 Javascript
JavaScript 变量、作用域及内存
Apr 08 Javascript
JS+CSS实现仿雅虎另类滑动门切换效果
Oct 13 Javascript
详解利用exif.js解决ios手机上传竖拍照片旋转90度问题
Nov 04 Javascript
JavaScript字符串_动力节点Java学院整理
Jun 27 Javascript
前端常见跨域解决方案(全)
Sep 19 Javascript
vue实现新闻展示页的步骤详解
Apr 11 Javascript
Vue常用的全选/反选的示例代码
Feb 19 Javascript
通过实例解析JavaScript常用排序算法
Sep 02 Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
Nov 12 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中用于检测一个地理IP地址是否可用的代码
2012/02/19 PHP
如何判断php数组的维度
2013/06/10 PHP
PHP简单处理表单输入的特殊字符的方法
2016/02/03 PHP
php时间戳转换代码详解
2019/08/04 PHP
不用MOUSEMOVE也能滑动啊
2007/05/23 Javascript
javascript 获取表单file全路径
2009/12/31 Javascript
JQuery 插件模板 制作jquery插件的朋友可以参考下
2010/03/17 Javascript
jQuery1.9+中删除了live以后的替代方法
2016/06/17 Javascript
JS实现直接运行html代码的方法
2017/03/13 Javascript
JS实现简单抖动效果
2017/06/01 Javascript
基于Vue实现后台系统权限控制的示例代码
2017/08/29 Javascript
vue中配置mint-ui报css错误问题的解决方法
2017/10/11 Javascript
关于Vue单页面骨架屏实践记录
2017/12/13 Javascript
Angular2整合其他插件的方法
2018/01/20 Javascript
微信小程序提取公用函数到util.js及使用方法示例
2019/01/10 Javascript
JS回调函数深入理解
2019/10/16 Javascript
vuex入门最详细整理
2020/03/04 Javascript
JavaScript语法约定和程序调试原理解析
2020/11/03 Javascript
Python基于time模块求程序运行时间的方法
2017/09/18 Python
pandas.DataFrame.to_json按行转json的方法
2018/06/05 Python
解决Mac下首次安装pycharm无project interpreter的问题
2018/10/29 Python
python hough变换检测直线的实现方法
2019/07/12 Python
python re.sub()替换正则的匹配内容方法
2019/07/22 Python
python mqtt 客户端的实现代码实例
2019/09/25 Python
Python模拟登入的N种方式(建议收藏)
2020/05/31 Python
Python字符串及文本模式方法详解
2020/09/10 Python
微软俄罗斯官方网站:Microsoft俄罗斯
2016/09/18 全球购物
在数据文件自动增长时,自动增长是否会阻塞对文件的更新
2014/05/01 面试题
幼儿教师个人求职信范文
2013/09/21 职场文书
信用社员工先进事迹材料
2014/02/04 职场文书
人力资源管理专业求职信
2014/07/23 职场文书
2014年小班保育员工作总结
2014/12/23 职场文书
医院合作意向书范本
2015/05/08 职场文书
家庭教育培训学习心得体会
2016/01/14 职场文书
Python的这些库,你知道多少?
2021/06/09 Python
小程序实现悬浮按钮的全过程记录
2021/10/16 HTML / CSS