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


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获取当前日期时间及其它操作函数
Jan 11 Javascript
CSS(js)限制页面显示的文本字符长度
Dec 27 Javascript
jQuery中的siblings用法实例分析
Dec 24 Javascript
jQuery实现伪分页的方法分享
Feb 17 Javascript
bootstrap导航、选项卡实现代码
Dec 28 Javascript
jquery平滑滚动到顶部插件使用详解
May 08 jQuery
node使用Koa2搭建web项目的方法
Oct 17 Javascript
webpack构建换肤功能的思路详解
Nov 27 Javascript
vue 路由嵌套高亮问题的解决方法
May 17 Javascript
重学 JS:为啥 await 不能用在 forEach 中详解
Apr 15 Javascript
JS中作用域以及变量范围分析
Jul 18 Javascript
解决vue动态路由异步加载import组件,加载不到module的问题
Jul 26 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验证码(支持中文)
2007/02/14 PHP
PHP 5.0对象模型深度探索之属性和方法
2008/03/27 PHP
PHP类的声明与实例化及构造方法与析构方法详解
2016/01/26 PHP
thinkPHP自定义类实现方法详解
2016/11/30 PHP
PHP 加密 Password Hashing API基础知识点
2020/03/02 PHP
javascript 出生日期和身份证判断大全
2008/11/13 Javascript
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
深入理解Javascript作用域与变量提升
2013/12/09 Javascript
使用jquery.upload.js实现异步上传示例代码
2014/07/29 Javascript
JavaScript中document对象使用详解
2015/01/06 Javascript
jquery中live()方法和bind()方法区别分析
2016/06/23 Javascript
jquery实现跳到底部,回到顶部效果的简单实例(类似锚)
2016/07/10 Javascript
深入理解Angular2 模板语法
2016/08/07 Javascript
解决微信内置浏览器返回上一页强制刷新问题方法
2017/02/05 Javascript
node.js中fs文件系统目录操作与文件信息操作
2018/02/24 Javascript
Vue Element UI + OSS实现上传文件功能
2019/07/31 Javascript
vue 在methods中调用mounted的实现操作
2020/08/07 Javascript
Python自定义scrapy中间模块避免重复采集的方法
2015/04/07 Python
对变量赋值的理解--Pyton中让两个值互换的实现方法
2017/11/29 Python
Django中的Signal代码详解
2018/02/05 Python
python使用opencv驱动摄像头的方法
2018/08/03 Python
pandas分别写入excel的不同sheet方法
2018/12/11 Python
Django框架首页和登录页分离操作示例
2019/05/28 Python
Python数据正态性检验实现过程
2020/04/18 Python
解决Django Haystack全文检索为空的问题
2020/05/19 Python
Django中日期时间型字段进行年月日时分秒分组统计
2020/11/27 Python
numba提升python运行速度的实例方法
2021/01/25 Python
YSL圣罗兰美妆美国官网:Yves Saint Lauret US
2016/11/21 全球购物
DOM和JQuery对象有什么区别
2016/11/11 面试题
学生处主任岗位职责
2013/12/01 职场文书
2014年计算机专业个人自我评价
2014/01/19 职场文书
妈妈的账单教学反思
2014/02/06 职场文书
火车的故事教学反思
2014/02/11 职场文书
商务日语专业自荐信
2014/04/17 职场文书
停课通知书
2015/04/24 职场文书
pandas DataFrame.shift()函数的具体使用
2021/05/24 Python