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


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 相关文章推荐
jquery触发a标签跳转事件示例代码
Jul 21 Javascript
JavaScript中for..in循环陷阱介绍
Nov 12 Javascript
javascript正则表达式之search()用法实例
Jan 19 Javascript
简介EasyUI datagrid editor combogrid搜索框的实现
Apr 01 Javascript
浅谈Cookie的生命周期问题
Aug 02 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
Sep 29 Javascript
JavaScript设计模式之工厂模式简单实例教程
Jul 03 Javascript
解决一个微信号同时支持多个环境网页授权问题
Aug 07 Javascript
jQuery实现提交表单时不提交隐藏div中input的方法
Oct 08 jQuery
jquery 插件重新绑定的处理方法分析
Nov 23 jQuery
微信小程序实现多图上传
Jun 19 Javascript
JavaScript常用工具函数汇总(浏览器环境)
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
轻松修复Discuz!数据库
2008/05/03 PHP
不用mod_rewrite直接用php实现伪静态化页面代码
2008/10/04 PHP
php文件缓存类汇总
2014/11/21 PHP
php使用Session和文件统计在线人数
2015/07/04 PHP
yii2.0实现创建简单widgets示例
2016/07/18 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
2016/09/09 PHP
PHP7扩展开发教程之Hello World实现方法示例
2017/08/03 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
autoPlay 基于jquery的图片自动播放效果
2011/12/07 Javascript
2012年开发人员的16款新鲜的jquery插件体验分享
2012/12/28 Javascript
jquery固定底网站底部菜单效果
2013/08/13 Javascript
javascript实用小函数使用介绍
2013/11/11 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
2015/11/15 Javascript
javascript中的 object 和 function小结
2016/08/14 Javascript
javascript 数组去重复(在线去重工具)
2016/12/17 Javascript
JS实现用特殊符号替换字符串的中间部分区域的实例代码
2018/07/24 Javascript
详解如何在vue项目中使用lodop打印插件
2018/09/27 Javascript
微信小程序的线程架构【推荐】
2019/05/14 Javascript
JS实现进度条动态加载特效
2020/03/25 Javascript
js简单实现自动生成表格功能示例
2020/06/02 Javascript
vue配置多代理服务接口地址操作
2020/09/08 Javascript
Python生成pdf文件的方法
2014/08/04 Python
Python 实现简单的电话本功能
2015/08/09 Python
举例讲解Python设计模式编程中的访问者与观察者模式
2016/01/26 Python
Pycharm学习教程(6) Pycharm作为Vim编辑器使用
2017/05/03 Python
使用python实现滑动验证码功能
2019/08/05 Python
Python中list循环遍历删除数据的正确方法
2019/09/02 Python
使用python制作游戏下载进度条的代码(程序说明见注释)
2019/10/24 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
2020/02/15 Python
亚马逊西班牙购物网站:amazon西班牙
2017/03/06 全球购物
科研课题实施方案
2014/03/18 职场文书
幼儿园春季开学寄语
2014/04/03 职场文书
环境卫生倡议书
2014/08/29 职场文书
法人代表证明书
2014/09/18 职场文书
留学推荐信(中英文版)
2015/03/26 职场文书
详解Python小数据池和代码块缓存机制
2021/04/07 Python