一、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" 涉及的是JavaScript编程中实现文本复制到系统剪贴板的功能,并且这个功能需要在Firefox和IE浏览器上都能正常工作。在Web开发中,允许用户将特定内容复制到剪贴板...
Firefox(火狐浏览器)和IE(Internet Explorer)的内核不同,导致它们对JavaScript的某些API支持不同。Firefox基于Gecko引擎,而IE则使用Trident引擎。在早期版本的IE中,由于安全原因,JavaScript直接操作剪贴板的...
标题中的“同时支持iexplorer和firefox的javascript复制拷贝信息到剪贴板方法”指的是在Web开发中,使用JavaScript实现跨浏览器(包括Internet Explorer和Firefox)的信息复制功能。JavaScript是一种广泛使用的...
标题中的“js复制链接支持IE,火狐”指的是在JavaScript编程中实现文本链接的复制功能,并确保这个功能在两种主流浏览器——Internet Explorer(IE)和Mozilla Firefox(火狐)上都能正常工作。在Web开发中,由于不同...
IE(Internet Explorer)和Firefox是当时两大主流的浏览器,它们对HTML、CSS和JavaScript的支持程度各有不同,导致开发跨浏览器的网页应用需要额外的努力。本篇文章将深入探讨如何创建一个兼容IE和Firefox的Html在线...
总结一下,这个实例通过ZeroClipboard库实现了在IE和Firefox浏览器上的跨平台复制功能,利用Flash作为桥梁,解决了JavaScript在不同浏览器间的兼容性问题。随着现代浏览器对Web Clipboard API的支持越来越好,未来的...
这个库尤其出色之处在于它支持多种浏览器,包括IE(Internet Explorer)、Firefox和Chrome,这些都是市场上广泛使用的浏览器。ZeroClipboard的工作原理是利用了Adobe Flash技术,因为JavaScript在浏览器的安全限制下...
今天,我们将讨论如何使用 JavaScript 和 CSS 实现浏览器禁止右键和禁止复制的功能,并且兼容多种浏览器,包括 Firefox 和 IE。 在开始之前,我们需要了解以下几个概念: 1. contextmenu 事件:当用户右键点击网页...
"js复制文本(兼容IE、火狐)"这个主题主要关注如何利用JavaScript实现文本复制功能,并确保这个功能在不同浏览器,包括Internet Explorer(IE)和Mozilla Firefox等主流浏览器上都能正常工作。在Web开发中,浏览器...
针对这个问题,`clipboard.js`应运而生,它提供了一种优雅且兼容多浏览器的方式来实现文本复制功能,包括IE、Chrome和Firefox等主流浏览器。 `clipboard.js`是一个轻量级的库,它的主要作用是简化了浏览器的剪贴板...
标题中的“兼容IE/firefox/chrome复制内容到剪贴板”指的是在网页开发中实现一个跨浏览器的剪贴板功能,允许用户在不同的浏览器(Internet Explorer、Firefox和Chrome)上复制内容。这个功能通常涉及到JavaScript ...
它不仅支持Internet Explorer(早期版本可能需要Flash支持),还支持Firefox、Chrome等现代浏览器。这意味着无论用户使用哪种浏览器,只要他们的系统中安装了Flash插件,就可以享受到复制到剪贴板的便捷功能。这对于...
这篇文章将详细介绍如何使用 JavaScript 实现一个兼容 IE 和火狐浏览器的右键菜单。 首先,我们需要理解浏览器的事件处理机制。在 JavaScript 中,我们可以使用 `addEventListener` 或者 `attachEvent`(对于旧版 ...
支持不同对象不同菜单,兼容IE、Firefox”指的是一个Web开发中的功能实现,它创建了一个自定义的右键上下文菜单,这个菜单可以根据用户点击的对象提供不同的选项,并且能在主流浏览器IE(Internet Explorer)和Fire...
火狐浏览器(Firefox)是一款非常受欢迎的开源网络浏览器,它以其强大的可定制性和丰富的扩展库而闻名。在Firefox中,用户可以通过安装各种扩展来增强浏览器的功能,满足个性化需求。以下是一些在描述中提到的常见...
这些事件在不同浏览器中有着不同的表现和兼容性,尤其是在Internet Explorer (IE) 和 Firefox之间。 `onpropertychange` 是IE浏览器特有的事件,当对象的任何可枚举属性发生变化时,它都会触发。特别是在处理表单...
本篇文章主要探讨的是如何在Firefox浏览器中,利用JavaScript实现跨浏览器的数据复制到剪贴板功能。这个功能对于提高用户体验,尤其是需要用户复制长串文本或代码时,显得尤为重要。 首先,JavaScript本身并不直接...
这种方法不仅适用于IE和Firefox,而且兼容所有支持`addEventListener`的现代浏览器,确保了广泛的适用性和一致性。 总之,通过合理利用HTML、CSS和JavaScript,我们可以有效地解决在不同浏览器中实现文本框回车自动...
这段代码通过条件判断和调用特定的API或组件接口,实现了在Firefox和其他基于Gecko的浏览器中的剪贴板复制功能。这不仅展示了前端开发中跨浏览器兼容性的重要性,也强调了理解并熟练掌握各浏览器特性的必要性。在...
ZeroClipboard是一款JavaScript库,它允许你在网页上实现跨浏览器的复制功能,特别是支持Firefox、Chrome以及IE6等浏览器。这个库巧妙地利用了Flash技术,因为Flash具备在多个浏览器上一致的复制粘贴功能。当用户...