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


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对象的property和prototype是什么一种关系
Aug 06 Javascript
Dom 结点创建 基础知识
Oct 01 Javascript
JavaScript中Math对象方法使用概述
Jan 02 Javascript
jquery弹窗插件colorbox绑定动态生成元素的方法
Jun 20 Javascript
javascript继承机制实例详解
Nov 20 Javascript
JavaScript实现的鼠标响应颜色渐变效果完整实例
Feb 18 Javascript
微信小程序 template模板详解及实例
Feb 21 Javascript
从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例
Apr 13 Javascript
vue 2.5.1 源码学习 之Vue.extend 和 data的合并策略
Jun 04 Javascript
解决layer.open后laydate失效的问题
Sep 06 Javascript
JavaScript实现横版菜单栏
Mar 17 Javascript
JavaScript enum枚举类型定义及使用方法
May 15 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+mysql留言本源码
2009/11/11 PHP
php上传apk后自动提取apk包信息的使用(示例下载)
2013/04/26 PHP
php限制文件下载速度的代码
2015/10/20 PHP
Netbeans 8.2与PHP相关的新特性介绍
2016/10/08 PHP
Laravel框架FormRequest中重写错误处理的方法
2019/02/18 PHP
HTML5附件拖拽上传drop &amp; google.gears实现代码
2011/04/28 Javascript
使用jquery自定义鼠标样式满足个性需求
2013/11/05 Javascript
JavaScript字符串删除重复字符的方法
2015/12/25 Javascript
input点击后placeholder中的提示消息消失
2016/01/15 Javascript
Sea.JS知识总结
2016/05/05 Javascript
JavaScript中的工厂函数(推荐)
2017/03/08 Javascript
AngularJS实现自定义指令与控制器数据交互的方法示例
2017/06/19 Javascript
JS基于正则表达式实现的密码强度验证功能示例
2017/09/21 Javascript
基于casperjs和resemble.js实现一个像素对比服务详解
2018/01/10 Javascript
node.js使用免费的阿里云ip查询获取ip所在地【推荐】
2018/09/03 Javascript
javascript实现简单页面倒计时
2021/03/02 Javascript
[44:43]完美世界DOTA2联赛决赛日 FTD vs GXR 第一场 11.08
2020/11/11 DOTA
详解python之简单主机批量管理工具
2017/01/27 Python
老生常谈python函数参数的区别(必看篇)
2017/05/29 Python
Python爬虫之pandas基本安装与使用方法示例
2018/08/08 Python
python矩阵的转置和逆转实例
2018/12/12 Python
django框架防止XSS注入的方法分析
2019/06/21 Python
python 搜索大文件的实例代码
2019/07/08 Python
python爬虫的一个常见简单js反爬详解
2019/07/09 Python
5个你不知道的HTML5的接口介绍
2013/08/07 HTML / CSS
美体小铺印度官网:The Body Shop印度
2019/10/17 全球购物
DeinDesign德国:设计自己的手机壳
2019/12/14 全球购物
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
介绍一下ICMP(Internet Control Message Protocol)Internet控制信息协议
2016/11/26 面试题
检查接待方案
2014/02/27 职场文书
药品业务员岗位职责
2014/04/17 职场文书
个人先进事迹材料
2014/12/29 职场文书
爱护环境建议书
2015/09/14 职场文书
用python画城市轮播地图
2021/05/28 Python
如何在Python中妥善使用进度条详解
2022/04/05 Python
MySQL详解进行JDBC编程与增删改查方法
2022/06/16 MySQL