复制和粘贴的js代码 for IE/FireFox/mozilla/ns

http://tech.ddvip.com   2006年08月08日    社区交流

本文详细介绍复制和粘贴的js代码 for IE/FireFox/mozilla/ns

  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

责编:豆豆技术应用

正在加载评论...