Jscript有些属性其实挺好的,可惜就是只是IE支持,比如复制和粘贴的属性
下面这段复制和粘贴的JAVASCRIPT的代码倒是可以支持IE/FireFox/mozilla/ns,,老外站点上看来的
只是在firefox下需要修改一下about:config的一个属性

<script language="javascript" type="text/javascript">
<!–
function copy_clip(meintext)
{
 if (window.clipboardData)
   {
  
   // the IE-manier
   window.clipboardData.setData("Text", meintext);
  
   // waarschijnlijk niet de beste manier om Moz/NS te detecteren;
   // het is mij echter onbekend vanaf welke versie dit precies werkt:
   }
   else if (window.netscape)
   {
  
   // dit is belangrijk maar staat nergens duidelijk vermeld:
   // you have to sign the code to enable this, or see notes below
   netscape.security.PrivilegeManager.enablePrivilege(‘UniversalXPConnect’);
  
   // maak een interface naar het clipboard
   var clip = Components.classes['@mozilla.org/widget/clipboard;1']
                 .createInstance(Components.interfaces.nsIClipboard);
   if (!clip) return;
  
   // maak een transferable
   var trans = Components.classes['@mozilla.org/widget/transferable;1']
                  .createInstance(Components.interfaces.nsITransferable);
   if (!trans) return;
  
   // specificeer wat voor soort data we op willen halen; text in dit geval
   trans.addDataFlavor(‘text/unicode’);
  
   // om de data uit de transferable te halen hebben we 2 nieuwe objecten
   // nodig om het in op te slaan
   var str = new Object();
   var len = new Object();
  
   var str = Components.classes["@mozilla.org/supports-string;1"]
                .createInstance(Components.interfaces.nsISupportsString);
  
   var copytext=meintext;
  
   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("Following info was copied to your clipboard:\n\n" + meintext);
   return false;
}
//–>
</script>


notes about security:

a cause of the tight security settings in mozilla you have to sign the
javascript to make it work another way is to change your
firefox/mozilla settings



to do this add this line to your prefs.js file in your firefox/mozilla user profile directory



user_pref("signed.applets.codebase_principal_support", true);



or change it from within the browser with calling the "about:config" page

原文链接;:http://www.krikkit.net/howto_javascript_copy_clipboard.html


4条评论

  1. 有应用例子地址没有?看看是否支持Opera

  2. 不错

发表评论

评论也有版权!