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


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不可用的问题探究
Oct 01 Javascript
JS中使用sort结合localeCompare实现中文排序实例
Jul 23 Javascript
node.js中的fs.futimesSync方法使用说明
Dec 17 Javascript
jQuery中$.ajax()和$.getJson()同步处理详解
Aug 12 Javascript
js实现Select列表内容自动滚动效果代码
Aug 20 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
Sep 24 Javascript
yarn与npm的命令行小结
Oct 20 Javascript
jQuery插件fullPage.js实现全屏滚动效果
Dec 02 Javascript
详解angular中通过$location获取路径(参数)的写法
Mar 21 Javascript
对vuejs的v-for遍历、v-bind动态改变值、v-if进行判断的实例讲解
Aug 27 Javascript
vue-cli脚手架的安装教程图解
Sep 02 Javascript
angular4+百分比进度显示插件用法示例
May 05 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程序员工具
2008/05/26 PHP
PHP下对字符串的递增运算代码
2010/08/21 PHP
如何让搜索引擎抓取AJAX内容解决方案
2014/08/25 PHP
php中socket的用法详解
2014/10/24 PHP
php清除和销毁session的方法分析
2015/03/19 PHP
变量在 PHP7 内部的实现(二)
2015/12/21 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
2016/05/09 PHP
Raphael一个用于在网页中绘制矢量图形的Javascript库
2013/01/08 Javascript
js动态调用css属性的小规律及实例说明
2013/12/28 Javascript
js实现Select列表内容自动滚动效果代码
2015/08/20 Javascript
巧方法 JavaScript获取超链接的绝对URL地址
2016/06/14 Javascript
详解Js模板引擎(TrimPath)
2016/11/22 Javascript
详解数组Array.sort()排序的方法
2020/05/09 Javascript
基于Vue实现tab栏切换内容不断实时刷新数据功能
2017/04/13 Javascript
javaScript封装的各种写法
2017/08/14 Javascript
Vue中的slot使用插槽分发内容的方法
2018/03/01 Javascript
jquery分页插件pagination使用教程
2018/10/23 jQuery
解决layui弹框失效的问题
2019/09/09 Javascript
通过js实现压缩图片上传功能
2020/02/25 Javascript
python实现定制交互式命令行的方法
2014/07/03 Python
python和shell实现的校验IP地址合法性脚本分享
2014/10/23 Python
Python爬虫实例_城市公交网络站点数据的爬取方法
2018/01/10 Python
Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
2018/01/11 Python
python添加模块搜索路径和包的导入方法
2019/01/19 Python
OpenCV 模板匹配
2019/07/10 Python
Python如何实现爬取B站视频
2020/05/20 Python
python代码区分大小写吗
2020/06/17 Python
使用phonegap进行提示操作的具体方法
2017/03/30 HTML / CSS
美国最大的网上冲印店:Shutterfly
2017/01/01 全球购物
租房协议书怎么写
2014/04/10 职场文书
市场开发计划书
2014/05/07 职场文书
环境卫生倡议书
2014/08/29 职场文书
写给女朋友的检讨书
2015/05/06 职场文书
二胎满月酒致辞
2015/07/29 职场文书
Python爬取某拍短视频
2021/06/11 Python
改造DE1103三步曲
2022/04/07 无线电