`
xhfei
  • 浏览: 115571 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

javascript复制-支持firefox和IE

阅读更多

一、IE下面实现复制文本到剪贴板很简单,只需要一行代码:
window.clipboardData.setData("Text",varstring);

二、火狐下面就很麻烦了,目前常见的有2种方式:
第一种,比较少见,利用firefox的特性,但是需要用户手动去修改浏览器的设置,所以这种方法是下策,实现方式如下:
(参考http://www.iteye.com/topic/125198
function copyToClipboard(txt) {  
      if(window.clipboardData) {   
              window.clipboardData.clearData();   
              window.clipboardData.setData("Text", txt);   
      } else if(navigator.userAgent.indexOf("Opera") != -1) {   
           window.location = txt;   
      } else if (window.netscape) {   
           try {   
                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");   
           } catch (e) {   
                alert("被浏览器拒绝!\n请在浏览器地址栏输入'about:config'并回车\n然后将 'signed.applets.codebase_principal_support'设置为'true'");   
           }   
           var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);   
           if (!clip)   
                return;   
           var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);   
           if (!trans)   
                return;   
           trans.addDataFlavor('text/unicode');   
           var str = new Object();   
           var len = new Object();   
           var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);   
           var copytext = txt;   
           str.data = copytext;   
           trans.setTransferData("text/unicode",str,copytext.length*2);   
           var clipid = Components.interfaces.nsIClipboard;   
           if (!clip)   
                return false;   
           clip.setData(trans,null,clipid.kGlobalClipboard);   
           alert("复制成功!")   
      }   
} 

第二种方法,利用flash的复制功能:
(参考http://www.lihaihong.com/article/77.html
关键代码是:
<embed src="_clipboard.swf" FlashVars="clipboard='+encodeURIComponent(s)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>

更新Flash 10后,禁止用户在没有点击flash的情况下复制内容,原来的方法失效了。解决方法是在按钮的上面覆盖一层透明的复制用的flash,或者直接使用一个用flash做的复制按钮。
function cpIt(theid){  
 	var s=document.getElementById(theid).value;
     if (window.clipboardData) {  
         window.clipboardData.setData("Text",s);  
     }  
     else  
     {    
         var flashcopier = 'flashcopier';  
         if(!document.getElementById(flashcopier)) {  
           var divholder = document.createElement('div');  
           divholder.id = flashcopier;  
           document.body.appendChild(divholder);  
         }  
         document.getElementById(flashcopier).innerHTML = '';  
         var divinfo = '<embed src="clipboard.swf" FlashVars="clipboard='+encodeURIComponent(s)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';  
         document.getElementById(flashcopier).innerHTML = divinfo;  
     }  
     alert("复制成功!");  
 }  

<input onclick="javascript:cpIt('huyu');" />
分享到:
评论

相关推荐

    js 复制到剪贴板 ,兼容支持火狐firefox 和 ie

    标题 "js 复制到剪贴板 ,兼容支持火狐firefox 和 ie" 涉及的是JavaScript编程中实现文本复制到系统剪贴板的功能,并且这个功能需要在Firefox和IE浏览器上都能正常工作。在Web开发中,允许用户将特定内容复制到剪贴板...

    js复制,兼容firefox和ie

    Firefox(火狐浏览器)和IE(Internet Explorer)的内核不同,导致它们对JavaScript的某些API支持不同。Firefox基于Gecko引擎,而IE则使用Trident引擎。在早期版本的IE中,由于安全原因,JavaScript直接操作剪贴板的...

    ★★★同时支持iexplorer和firefox的javascript复制拷贝信息到剪贴板方法

    标题中的“同时支持iexplorer和firefox的javascript复制拷贝信息到剪贴板方法”指的是在Web开发中,使用JavaScript实现跨浏览器(包括Internet Explorer和Firefox)的信息复制功能。JavaScript是一种广泛使用的...

    js复制链接支持IE,火狐

    标题中的“js复制链接支持IE,火狐”指的是在JavaScript编程中实现文本链接的复制功能,并确保这个功能在两种主流浏览器——Internet Explorer(IE)和Mozilla Firefox(火狐)上都能正常工作。在Web开发中,由于不同...

    兼容IE和Firefox的Html在线编辑器!

    IE(Internet Explorer)和Firefox是当时两大主流的浏览器,它们对HTML、CSS和JavaScript的支持程度各有不同,导致开发跨浏览器的网页应用需要额外的努力。本篇文章将深入探讨如何创建一个兼容IE和Firefox的Html在线...

    兼容ie和火狐的复制插件实例(使用flash)

    总结一下,这个实例通过ZeroClipboard库实现了在IE和Firefox浏览器上的跨平台复制功能,利用Flash作为桥梁,解决了JavaScript在不同浏览器间的兼容性问题。随着现代浏览器对Web Clipboard API的支持越来越好,未来的...

    ZeroClipboard支持IE,firefox,Chrome复制到剪贴板

    这个库尤其出色之处在于它支持多种浏览器,包括IE(Internet Explorer)、Firefox和Chrome,这些都是市场上广泛使用的浏览器。ZeroClipboard的工作原理是利用了Adobe Flash技术,因为JavaScript在浏览器的安全限制下...

    firefox(火狐)和ie浏览器禁止右键和禁止复制的代码

    今天,我们将讨论如何使用 JavaScript 和 CSS 实现浏览器禁止右键和禁止复制的功能,并且兼容多种浏览器,包括 Firefox 和 IE。 在开始之前,我们需要了解以下几个概念: 1. contextmenu 事件:当用户右键点击网页...

    js复制文本(兼容IE、火狐)

    "js复制文本(兼容IE、火狐)"这个主题主要关注如何利用JavaScript实现文本复制功能,并确保这个功能在不同浏览器,包括Internet Explorer(IE)和Mozilla Firefox等主流浏览器上都能正常工作。在Web开发中,浏览器...

    clipboard复制文本或者隐藏域到剪切板,兼容ie.chrome.firefox

    针对这个问题,`clipboard.js`应运而生,它提供了一种优雅且兼容多浏览器的方式来实现文本复制功能,包括IE、Chrome和Firefox等主流浏览器。 `clipboard.js`是一个轻量级的库,它的主要作用是简化了浏览器的剪贴板...

    兼容IE/firefox/chrome复制内容到剪贴板

    标题中的“兼容IE/firefox/chrome复制内容到剪贴板”指的是在网页开发中实现一个跨浏览器的剪贴板功能,允许用户在不同的浏览器(Internet Explorer、Firefox和Chrome)上复制内容。这个功能通常涉及到JavaScript ...

    支持IE,firefox,Chrome复制到剪贴板的JS+FLASH插件ZeroClipboard下载

    它不仅支持Internet Explorer(早期版本可能需要Flash支持),还支持Firefox、Chrome等现代浏览器。这意味着无论用户使用哪种浏览器,只要他们的系统中安装了Flash插件,就可以享受到复制到剪贴板的便捷功能。这对于...

    javascript实现右键菜单,兼容IE,火狐

    这篇文章将详细介绍如何使用 JavaScript 实现一个兼容 IE 和火狐浏览器的右键菜单。 首先,我们需要理解浏览器的事件处理机制。在 JavaScript 中,我们可以使用 `addEventListener` 或者 `attachEvent`(对于旧版 ...

    一个右键菜单,支持不同对象不同菜单,兼容IE、Firefox

    支持不同对象不同菜单,兼容IE、Firefox”指的是一个Web开发中的功能实现,它创建了一个自定义的右键上下文菜单,这个菜单可以根据用户点击的对象提供不同的选项,并且能在主流浏览器IE(Internet Explorer)和Fire...

    Firefox常用扩展

    火狐浏览器(Firefox)是一款非常受欢迎的开源网络浏览器,它以其强大的可定制性和丰富的扩展库而闻名。在Firefox中,用户可以通过安装各种扩展来增强浏览器的功能,满足个性化需求。以下是一些在描述中提到的常见...

    兼容Firefox和IE的onpropertychange事件oninput

    这些事件在不同浏览器中有着不同的表现和兼容性,尤其是在Internet Explorer (IE) 和 Firefox之间。 `onpropertychange` 是IE浏览器特有的事件,当对象的任何可枚举属性发生变化时,它都会触发。特别是在处理表单...

    Firefox中通过JavaScript复制数据到剪贴板(Copy to Clipboard 跨浏览器版)

    本篇文章主要探讨的是如何在Firefox浏览器中,利用JavaScript实现跨浏览器的数据复制到剪贴板功能。这个功能对于提高用户体验,尤其是需要用户复制长串文本或代码时,显得尤为重要。 首先,JavaScript本身并不直接...

    ie ,火狐 文本框回车自动提交

    这种方法不仅适用于IE和Firefox,而且兼容所有支持`addEventListener`的现代浏览器,确保了广泛的适用性和一致性。 总之,通过合理利用HTML、CSS和JavaScript,我们可以有效地解决在不同浏览器中实现文本框回车自动...

    支持FireFox的剪貼板

    这段代码通过条件判断和调用特定的API或组件接口,实现了在Firefox和其他基于Gecko的浏览器中的剪贴板复制功能。这不仅展示了前端开发中跨浏览器兼容性的重要性,也强调了理解并熟练掌握各浏览器特性的必要性。在...

    ZeroClipboard插件实现多浏览器复制功能(支持firefox、chrome、ie6)

    ZeroClipboard是一款JavaScript库,它允许你在网页上实现跨浏览器的复制功能,特别是支持Firefox、Chrome以及IE6等浏览器。这个库巧妙地利用了Flash技术,因为Flash具备在多个浏览器上一致的复制粘贴功能。当用户...

Global site tag (gtag.js) - Google Analytics