夢幻之旅

          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  回復  更多評論
            

          主站蜘蛛池模板: 洱源县| 进贤县| 桓台县| 怀宁县| 慈溪市| 军事| 青阳县| 任丘市| 云阳县| 乌兰浩特市| 南投县| 宁武县| 温宿县| 任丘市| 仙居县| 武夷山市| 台山市| 鄂托克旗| 湘阴县| 雷州市| 阳新县| 安陆市| 安吉县| 大同县| 博野县| 乐都县| 团风县| 宁海县| 南投县| 洪湖市| 元氏县| 商城县| 囊谦县| 厦门市| 武隆县| 芒康县| 内丘县| 泰来县| 清丰县| 綦江县| 高陵县|