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

 更新时间:2013年07月04日 18:12:32   作者:  
单击复制文字的js找了很久,由于之前没有接触过,完全不知道兼容ie及标准dom浏览器,不仅仅要通过js,而且需要flash的帮忙,下面与大家分享下具体的实现方法
单击复制文字的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 ');
})();

相关文章

  • JS实现多物体缓冲运动实例代码

    JS实现多物体缓冲运动实例代码

    这篇文章主要介绍了JS实现多物体缓冲运动实例代码,有需要的朋友可以参考一下
    2013-11-11
  • uniapp微信小程序订阅消息发送服务通知超详细教程

    uniapp微信小程序订阅消息发送服务通知超详细教程

    在使用或开发小程序过程中,我们会发现消息通知是非常重要的一个环节,下面这篇文章主要给大家介绍了关于uniapp微信小程序订阅消息发送服务通知的相关资料,需要的朋友可以参考下
    2023-06-06
  • 前端图片懒加载的原理与3种实现方式举例

    前端图片懒加载的原理与3种实现方式举例

    图片懒加载又称图片延时加载、惰性加载,即在用户需要使用图片的时候加载,这样可以减少请求,节省带宽,提高页面加载速度,相对的,也能减少服务器压力,下面这篇文章主要给大家介绍了关于前端图片懒加载的原理与3种实现方式的相关资料,需要的朋友可以参考下
    2023-03-03
  • 前端面试知识点锦集(JavaScript篇)

    前端面试知识点锦集(JavaScript篇)

    这篇文章主要为大家分享了前端面试知识点锦集JavaScript篇,细致的给出了每个js面试知识点的答案,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • 两个select多选模式的选项相互移动(示例代码)

    两个select多选模式的选项相互移动(示例代码)

    本篇文章主要是对两个select多选模式的选项相互移动示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • Webpack学习之动态import原理及源码分析

    Webpack学习之动态import原理及源码分析

    这篇文章主要为大家介绍了Webpack学习之动态import原理及源码分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • Web表单提交之disabled问题js解决方法

    Web表单提交之disabled问题js解决方法

    这篇文章主要介绍了Web表单提交之disabled问题js解决方法,分析了通过js解决保存值也能保留用户不能输入的功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • Object.keys()、Object.values()、Object.entries()用法总结

    Object.keys()、Object.values()、Object.entries()用法总结

    本文主要介绍了Object.keys()、Object.values()、Object.entries()用法总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • js放到head中失效的原因与解决方法

    js放到head中失效的原因与解决方法

    本文主要介绍了js放到head中有时候会失效的原因以及解决方法,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • JavaScript 中的作用域与闭包

    JavaScript 中的作用域与闭包

    这篇文章主要介绍了JavaScript中的作用域与闭包,JavaScript是一种具有函数优先的轻量级,解释型或即时编译型的编程语言,下文是更多相关介绍需要的小伙伴可以参考一下
    2022-05-05

最新评论