夢幻之旅

          DEBUG - 天道酬勤

             :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            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;
          }
          /**********************************************************
          粘貼剪切板的內(nèi)容
          **********************************************************
          */
          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 閱讀(2838) 評論(1)  編輯  收藏 所屬分類: JavaScript

          評論

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

          主站蜘蛛池模板: 疏附县| 麻栗坡县| 贵定县| 修水县| 车险| 满城县| 务川| 额济纳旗| 通许县| 阿合奇县| 九龙坡区| 仁寿县| 谢通门县| 吴桥县| 黑龙江省| 公主岭市| 白城市| 鲜城| 崇明县| 沽源县| 普宁市| 繁昌县| 沙雅县| 荆门市| 奎屯市| 泰州市| 万源市| 历史| 陈巴尔虎旗| 合阳县| 阳曲县| 江山市| 巴中市| 若尔盖县| 滁州市| 香河县| 手机| 巴楚县| 南部县| 中方县| 东海县|