兼容IE与Firefox的js 复制代码
作者:bea
<script type="text/javascript"> function copyCode(id){ var testCode=document.getElementById(id).value; if(copy2Clipboard(testCode)!=false){ alert("生成的代码已经复制到粘贴板,你可以使用Ctrl+V 贴到需要的地方去了哦! "); } } copy2Clipboard=funct
<script type="text/javascript">
function copyCode(id){
var testCode=document.getElementById(id).value;
if(copy2Clipboard(testCode)!=false){
alert("生成的代码已经复制到粘贴板,你可以使用Ctrl+V 贴到需要的地方去了哦! ");
}
}
copy2Clipboard=function(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("您的firefox安全限制限制您进行剪贴板操作,请打开'about:config'将signed.applets.codebase_principal_support'设置为true'之后重试,相对路径为firefox根目录/greprefs/all.js");
return false;
}
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);
}
}
</script>
<div>
<a href="#" target="_blank"> [<a href="#" onclick="copyCode('txtTestCode1');return false;">点击复制1</a>]
<textarea rows=2 id="txtTestCode1" style="width:500px;font-family: Verdana, Arial;font-size:12px;height:55px;border:1px solid #999999;">复制内容1</textarea>
</div>
<div>
<a href="#" target="_blank"> [<a href="#" onclick="copyCode('txtTestCode2');return false;">点击复制2</a>]
<textarea rows=2 id="txtTestCode2" style="width:500px;font-family: Verdana, Arial;font-size:12px;height:55px;border:1px solid #999999;">复制内容2</textarea>
</div>
<div>
<a href="#" target="_blank"> [<a href="#" onclick="copyCode('txtTestCode3');return false;">点击复制3</a>]
<textarea rows=2 id="txtTestCode3" style="width:500px;font-family: Verdana, Arial;font-size:12px;height:55px;border:1px solid #999999;">复制内容3</textarea>
</div>
[Ctrl+A 全选 注:
如需引入外部Js需刷新才能执行]
下面的内容主要是应用了textarea作为内容载体,如果是div等,直接网页标记就需要用到innerText,但firefox火狐浏览器并不支持innerText,所以又要考虑如何让firefox支持innerText,这样以来就可以完美的实现了,具体的代码可以参考的功能代码。
下一篇文章我们将介绍如何让firefox支持innerText的实现代码。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- JavaScript 生成随机数并自动大小排序
- javascript 面向对象全新理练之原型继承
- javascript 面向对象全新理练之继承与多态
- javascript 面向对象全新理练之数据的封装
- jquery的ajax从纯真网(cz88.net)获取IP地址对应地区名
- jQuery 跨域访问问题解决方法
- jQuery Selectors(选择器)的使用(二、层次篇)
- jQuery Selectors(选择器)的使用(一、基本篇)
- IE与firefox下Dhtml的一些区别小结
- checkbox全选/取消全选以及checkbox遍历jQuery实现代码
- 两种WEB下的模态对话框 (asp.net或js的分别实现)
- JavaScript 报表展示实现代码
- JavaScript Object的extend是一个常用的功能
- 鼠标拖动动态改变表格的宽度的js脚本 兼容ie/firefox
- 用Javascript检查Adobe PDF插件是否安装的实现代码
- JS类的封装及实现代码
- Jquery选择器 $实现原理
- js 表格隔行颜色
- 让FireFox支持innerText的实现代码