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


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 循环读取JSON数据的代码
Jul 17 Javascript
JS获取当前日期时间并定时刷新示例
Mar 04 Javascript
Angularjs 基础入门
Dec 26 Javascript
深入理解JavaScript系列(31):设计模式之代理模式详解
Mar 03 Javascript
js检测判断日期大于多少天的方法
May 04 Javascript
AngularJS中使用three.js的实例详解
Jul 21 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
Nov 14 Javascript
Javascript中JSON数据分组优化实践及JS操作JSON总结
Dec 22 Javascript
webpack4之SplitChunksPlugin使用指南
Jun 12 Javascript
解决Vue-cli npm run build生产环境打包,本地不能打开的问题
Sep 20 Javascript
Vue CLI3中使用compass normalize的方法
May 30 Javascript
kafka调试中遇到Connection to node -1 could not be established. Broker may not be available.
Sep 17 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
DC游戏Steam周三特惠 《蝙蝠侠》阿卡姆系列平史低
2020/04/09 欧美动漫
回帖脱衣服的图片实现代码
2014/02/15 PHP
yii2分页之实现跳转到具体某页的实例代码
2016/06/02 PHP
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
2017/02/04 PHP
javascript一个无懈可击的实例化XMLHttpRequest的方法
2010/10/13 Javascript
jquery $.each()使用探讨
2013/09/23 Javascript
javascript数字时钟示例分享
2014/04/23 Javascript
JavaScript的原型继承详解
2015/02/15 Javascript
Jquery attr()方法 属性赋值和属性获取详解
2016/04/15 Javascript
D3.js封装文本实现自动换行和旋转平移等功能
2016/10/14 Javascript
JS创建对象的写法示例
2016/11/04 Javascript
JS常用算法实现代码
2016/11/14 Javascript
浅谈js键盘事件全面控制
2016/12/01 Javascript
jQuery控制元素隐藏和显示
2017/03/03 Javascript
详解webpack的配置文件entry与output
2017/08/21 Javascript
使用store来优化React组件的方法
2017/10/23 Javascript
angula中使用iframe点击后不执行变更检测的问题
2020/05/10 Javascript
[04:48]DOTA2亚洲邀请赛林书豪为VGJ加油
2017/04/01 DOTA
深入浅析Python字符编码
2015/11/12 Python
Python编写一个闹钟功能
2017/07/11 Python
python实现二分查找算法
2017/09/21 Python
python中使用正则表达式的后向搜索肯定模式(推荐)
2017/11/11 Python
Python实现动态图解析、合成与倒放
2018/01/18 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
2018/12/05 Python
python库matplotlib绘制坐标图
2019/10/18 Python
对python中list的五种查找方法说明
2020/07/13 Python
pandas 数据类型转换的实现
2020/12/29 Python
如何用python实现一个HTTP连接池
2021/01/14 Python
WebSphere面试题:在WebSphere里面如何部署一个应用
2015/08/02 面试题
《小小雨点》教学反思
2014/02/18 职场文书
小学一年级评语大全
2014/04/22 职场文书
辞旧迎新演讲稿
2014/09/15 职场文书
税务干部群众路线教育实践活动自我剖析材料
2014/09/21 职场文书
倡议书格式及范文
2015/04/29 职场文书
施工安全责任协议书
2016/03/23 职场文书
关于k8s环境部署mysql主从的问题
2022/03/13 MySQL