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


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获取单元格自定义属性值的代码(IE/Firefox)
Apr 05 Javascript
JS判断是否为数字,是否为整数,是否为浮点数的代码
Apr 24 Javascript
JS操作Cookie写入和读取实例代码
Oct 20 Javascript
js函数定时器实现定时读取系统实时连接数
Apr 30 Javascript
JS获取子窗口中返回的数据实现方法
May 28 Javascript
AngularJS实现单独作用域内的数据操作
Sep 05 Javascript
js实现仿购物车加减效果
Mar 01 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
Apr 12 Javascript
微信小程序 wx:for的使用实例详解
Apr 27 Javascript
详解Vue webapp项目通过HBulider打包原生APP
Jun 29 Javascript
聊聊Vue中provide/inject的应用详解
Nov 10 Javascript
详解实现vue的数据响应式原理
Jan 20 Vue.js
把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实现禁用IE和火狐的缓存问题
2012/12/03 PHP
PHP实现基于栈的后缀表达式求值功能
2017/11/10 PHP
TNC vs IO BO3 第一场2.13
2021/03/10 DOTA
JavaScipt基本教程之JavaScript语言的基础
2008/01/16 Javascript
键盘 keycode的值 javascript时触发事件时很有用的要素
2009/11/02 Javascript
JQuery Study Notes 学习笔记(一)
2010/08/04 Javascript
EXTJS FORM HIDDEN TEXTFIELD 赋值 使用value不好用的问题
2011/04/16 Javascript
JavaScript之Object类型介绍
2015/04/01 Javascript
jquery轮播的实现方式 附完整实例
2016/07/28 Javascript
bootstrap 模态框(modal)实现水平垂直居中显示
2017/01/23 Javascript
基于JS实现仿百度百家主页的轮播图效果
2017/03/06 Javascript
详解Vue.js基于$.ajax获取数据并与组件的data绑定
2017/05/26 Javascript
使用原生js封装的ajax实例(兼容jsonp)
2017/10/12 Javascript
微信小程序自定义toast实现方法详解【附demo源码下载】
2017/11/28 Javascript
浅谈layui使用模板引擎动态渲染元素要注意的问题
2019/09/14 Javascript
vue样式穿透 ::v-deep的具体使用
2020/06/04 Javascript
js实现表格单列按字母排序
2020/08/12 Javascript
python 检查是否为中文字符串的方法
2018/12/28 Python
Python+threading模块对单个接口进行并发测试
2019/06/25 Python
python中时间、日期、时间戳的转换的实现方法
2019/07/06 Python
Django的models模型的具体使用
2019/07/15 Python
解决reload(sys)后print失效的问题
2020/04/25 Python
python怎么删除缓存文件
2020/07/19 Python
深入浅析pycharm中 Make available to all projects的含义
2020/09/15 Python
青年创业培训欢迎词
2014/01/08 职场文书
大学生村官工作感言
2014/01/10 职场文书
综合实践教学反思
2014/01/31 职场文书
初一家长会邀请函
2014/01/31 职场文书
如何撰写岗位职责
2014/02/01 职场文书
员工考核管理制度
2014/02/02 职场文书
助人为乐道德模范事迹材料
2014/08/16 职场文书
美德少年事迹材料500字
2014/08/19 职场文书
个人对照检查材料思想汇报
2014/09/26 职场文书
十月围城观后感
2015/06/08 职场文书
公务员廉洁从政心得体会
2016/01/19 职场文书
通过Python把学姐照片做成拼图游戏
2022/02/15 Python