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


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实现的日期操作类DateTime函数代码
Mar 16 Javascript
读jQuery之十三 添加事件和删除事件的核心方法
Aug 23 Javascript
原生js事件的添加和删除的封装
Jul 01 Javascript
AngularJS快速入门
Apr 02 Javascript
js兼容pc端浏览器并有多种弹出小提示的手机端浮层控件实例
Apr 29 Javascript
浅谈$(document)和$(window)的区别
Jul 15 Javascript
cocos2dx骨骼动画Armature源码剖析(三)
Sep 08 Javascript
函数四种调用模式以及其中的this指向
Jan 16 Javascript
vue.js-div滚动条隐藏但有滚动效果的实现方法
Mar 03 Javascript
bootstrap table实现合并单元格效果
Dec 24 Javascript
JS中数据结构之栈
Jan 01 Javascript
微信小程序基于movable-view实现滑动删除效果
Jan 08 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
PHPExcel 修改已存在Excel的方法
2018/05/03 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
Javascript 类型转换方法
2010/10/24 Javascript
JQuery.Ajax之错误调试帮助信息介绍
2013/07/04 Javascript
AngularJS入门教程之学习环境搭建
2014/12/06 Javascript
jQuery多媒体插件jQuery Media Plugin使用详解
2014/12/19 Javascript
jQuery+css3实现Ajax点击后动态删除功能的方法
2015/08/10 Javascript
jquery实现Li滚动时滚动条自动添加样式的方法
2015/08/10 Javascript
javascript中html字符串转化为jquery dom对象的方法
2015/08/27 Javascript
javascript类型系统——日期Date对象全面了解
2016/07/13 Javascript
数据结构中的各种排序方法小结(JS实现)
2016/07/23 Javascript
完美实现js焦点轮播效果(一)
2017/03/07 Javascript
使用Vue-cli 3.0搭建Vue项目的方法
2018/06/07 Javascript
JavaScript模拟实现自由落体效果
2018/08/28 Javascript
jQuery实现基本隐藏与显示效果的方法详解
2018/09/05 jQuery
Vue项目实现换肤功能的一种方案分析
2019/08/28 Javascript
微信小程序监听用户登录事件的实现方法
2019/11/11 Javascript
基于vue和websocket的多人在线聊天室
2020/02/01 Javascript
Vue中computed及watch区别实例解析
2020/08/01 Javascript
node.js通过Sequelize 连接MySQL的方法
2020/12/28 Javascript
Python类定义和类继承详解
2015/05/08 Python
pandas 两列时间相减换算为秒的方法
2018/04/20 Python
对Python中gensim库word2vec的使用详解
2018/05/08 Python
Python操作rabbitMQ的示例代码
2019/03/19 Python
python matplotlib库的基本使用
2020/09/23 Python
美国领先的礼品卡网站:GiftCards.com
2016/11/02 全球购物
PHP如何删除一个Cookie值
2012/11/15 面试题
类的核心特性有哪些
2014/01/01 面试题
高中军训感想800字
2014/02/23 职场文书
房地产项目建议书
2014/03/12 职场文书
食品工程专业求职信
2014/06/15 职场文书
安全伴我行演讲稿
2014/09/04 职场文书
2016年大学校运会广播稿件
2015/12/21 职场文书
创业计划书介绍
2019/04/24 职场文书
Ajax实现局部刷新的方法实例
2021/03/31 Javascript
Python List remove()实例用法详解
2021/08/02 Python