zoukankan      html  css  js  c++  java
  • 复制和粘贴的js代码(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

  • 相关阅读:
    Ubuntu16.04 + CUDA 8.0 (GTX 1050ti)
    关于MapD的集群建立
    2-7 单位和坐标系
    2-6 光线投射
    2-5 事件系统(Event System)
    2-4 Rect Transform(矩形)组件的属性
    2-3 RectangleTransform矩形组件
    2-2 Graphic Raycasrer组件(光线投射)
    2-1 Ui元素-画布
    1-5 事件方法的执行顺序
  • 原文地址:https://www.cnblogs.com/luluping/p/1730699.html
Copyright © 2011-2022 走看看