兼容ie FF 多浏览器的js复制代码

MD,找了半天,总算一个比较满意的··     对于火狐,如果浏览器设置没打开,那会麻烦点。

 

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("复制成功!") ;
}

js复制代码(IE/Firefox/NS)

/**
*JS复制代码
*/
function copyData(text){
var clipBoardContent,clip,trans,str,len,str,copytext,clipid;
clipBoardContent = text;
if(window.clipboardData){
   window.clipboardData.clearData();
   window.clipboardData.setData("Text", clipBoardContent);
}
else if(navigator.userAgent.indexOf("Opera") != -1){
   window.location = clipBoardContent;
}
else if (window.netscape){
   try{
    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
   }catch (e){
    alert("您的当前浏览器设置已关闭此功能!请按以下步骤开启此功能!\n新开一个浏览器,在浏览器地址栏输入'about:config'并回车。\n然后找到'signed.applets.codebase_principal_support'项,双击后设置为'true'。\n声明:本功能不会危极您计算机或数据的安全!");
   }
   clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
   if (!clip) return;
   trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
   if (!trans) return;
   trans.addDataFlavor('text/unicode');
   str = new Object();
   len = new Object();
   str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
   copytext = clipBoardContent;
   str.data = copytext;
   trans.setTransferData("text/unicode",str,copytext.length*2);
   clipid = Components.interfaces.nsIClipboard;
   if (!clip) return false;
   clip.setData(trans,null,clipid.kGlobalClipboard);
}
return true;
}