夢幻之旅

          DEBUG - 天道酬勤

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
          copyPaste.js

          /**********************************************************
          復制maintext到貼切板
          **********************************************************
          */
          function setClipboard(maintext) 
          {
              
          if (window.clipboardData) 
              {
                  
          return (window.clipboardData.setData("Text", maintext));
              } 
              
          else 
              {
                  
          if (window.netscape) 
                  {
                      
          try{
                      netscape.security.PrivilegeManager.enablePrivilege(
          "UniversalXPConnect");
                      
          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 = maintext;
                      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);
                      
          return true;
                      }
                      
          catch(e)
                      {
                          alert(
          "您的firefox安全限制限制您進行剪貼板操作,請打開'about:config'將signed.applets.codebase_principal_support'設置為true'之后重試,相對路徑為firefox根目錄/greprefs/all.js");
                          
          return false;
                      }
                  }
              }
              
          return false;
          }
          /**********************************************************
          粘貼剪切板的內容
          **********************************************************
          */
          function getClipboard() 
          {
              
          if (window.clipboardData) 
              {
                  
          return (window.clipboardData.getData('text'));
              } 
              
          else 
              {
                  
          if (window.netscape) 
                  {
                      
          try 
                      {
                          netscape.security.PrivilegeManager.enablePrivilege(
          "UniversalXPConnect");
                          
          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");
                          clip.getData(trans, clip.kGlobalClipboard);
                          
          var str = new Object();
                          
          var len = new Object();
                          trans.getTransferData(
          "text/unicode", str, len);
                      }
                      
          catch (e) 
                      {
                          alert(
          "您的firefox安全限制限制您進行剪貼板操作,請打開'about:config'將signed.applets.codebase_principal_support'設置為true'之后重試,相對路徑為firefox根目錄/greprefs/all.js");
                          
          return null;
                      }
                      
          if (str) 
                      {
                          
          if (Components.interfaces.nsISupportsWString) 
                          {
                              str 
          = str.value.QueryInterface(Components.interfaces.nsISupportsWString);
                          } 
                          
          else 
                          {
                              
          if (Components.interfaces.nsISupportsString) 
                              {
                                  str 
          = str.value.QueryInterface(Components.interfaces.nsISupportsString);
                              } 
                              
          else 
                              {
                                  str 
          = null;
                              }
                          }
                      }
                      
          if (str) 
                      {
                          
          return (str.data.substring(0, len.value / 2));
                      }
                  }
              }
              
          return null;
          }



          posted on 2008-12-04 11:10 HUIKK 閱讀(2829) 評論(1)  編輯  收藏 所屬分類: JavaScript

          評論

          # re: javascript 操作剪切板 ie firefox 兼容[未登錄] 2009-01-19 21:10 Hades
          FF下要設置一下才可以,始終不是很好, 現在用javascript+flash能比較好地實現操作剪切板,這是最新javascrit+flash10下的方法: http://ourjs.cn/show.php?id=737  回復  更多評論
            

          主站蜘蛛池模板: 汝州市| 科技| 宕昌县| 会理县| 石首市| 彰化县| 芜湖县| 甘泉县| 鄂托克前旗| 庄河市| 襄城县| 观塘区| 五台县| 光泽县| 淮南市| 夏邑县| 辰溪县| 南宁市| 枝江市| 东至县| 黑山县| 怀柔区| 金堂县| 远安县| 偏关县| 彭山县| 嘉荫县| 寻甸| 陆河县| 洮南市| 长武县| 星子县| 天气| 微山县| 临洮县| 苏尼特右旗| 靖远县| 元朗区| 庐江县| 高密市| 老河口市|