[JS]网页中常见的预览复制功能

         function preview(strName,intWidth,intHeight)
         
{
             
var strHtml = document.getElementById(strName).value;
             
var abc = window.open("about:blank","preview","status=no,menubar=no,statusbar=no,address=no,guide=no,height="+intHeight+",width="+intWidth,"我们这里");
                   abc.document.open();
                  abc.document.write(
"<style type='text/css'>*{font-size:12px;}</style>");
                  abc.document.write(
"<body style='margin:0px;padding:0px;'>"+strHtml+"</body>");
                  abc.focus();
         }

         
function copyToClipboard( strName )
         
{
             
var txt = document.getElementById(strName).value;
             
try{
             
if(window.clipboardData) {    
                     window.clipboardData.clearData();    
                     window.clipboardData.setData(
"Text", txt);   
                     alert(
"复制成功");
             }
else if (window.netscape) {    
                  
try {    
                       netscape.security.PrivilegeManager.enablePrivilege(
"UniversalXPConnect");    
                  }
 catch (e) {    
                       alert(
"被浏览器拒绝!\n请在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'");
                       window.open(
"about:config");
                  }
    
                  
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(
"复制成功!")    
             }
else
             
{
                
var obj=document.getElementById(strName).select();
                     window.document.execCommand(
"Copy","false",null);
                     alert(
"复制成功");
             }

             }
catch(e)
             
{
                 alert(
"复制失败,可能原因为,该浏览器不支持复制!");
             }

        }
   
posted @ 2009-09-22 12:05  竹子小毅  阅读(330)  评论(0编辑  收藏  举报