HTML:

 
  1. <body> 
  2.      <form id="form1" runat="server"> 
  3.      <div> 
  4.          <textarea id="txtArea" cols="30" rows="3">我是一个文本,Hello World!</textarea><br /> 
  5.          <input type="button" name="name" value="复制内容" onclick="copyToClipBoard('txtArea')" /> 
  6.      </div> 
  7.      </form> 
  8.  </body> 

JS:

 

 
  1. <script type="text/javascript"
  2.          //复制文本框 
  3.          function copyToClipBoard(id) { 
  4.              var code = $("#" + id).val(); 
  5.              code = HTMLDeCode(code); 
  6.              var tip = copyCode(code); 
  7.              if (tip == 0) {
    //0 成功 1 失败 2 不支持 3 已经提示 
  8.                  var _open = tool.getCookieValue("open"); 
  9.                  if (_open == "0" && _global.security == "1") { 
  10.                      alert("您当前的安全级别为高,此时“完全公开”代码将无效\n若要继续选择“完全公开”代码,请将安全级设置为“中”。"); 
  11.                  } else { 
  12.                      tool.setCenter($("#box2"), 0); 
  13.                      $("#box2").fadeIn(); 
  14.                  } 
  15.              } else if (tip == 1) { 
  16.                  alert("复制失败,请重试!"); 
  17.              } else if (tip == 2) { 
  18.                  alert("您的浏览器不支持此功能"); 
  19.              } 
  20.              if (typeof pgvSendClick == "function") { 
  21.                  if (tool.getCookieValue("open") == 1) { 
  22.                      pgvSendClick({ hottag: 'R1JT.wp.index.security' }); 
  23.                  } else { 
  24.                      pgvSendClick({ hottag: 'R1JT.wp.index.open' }); 
  25.                  } 
  26.              } 
  27.   
  28.          } 
  29.          //去掉特殊符号 
  30.          function HTMLDeCode(str) { 
  31.              var s = ""
  32.              if (str.length == 0) return ""
  33.              s = str.replace(/&amp;/g, "&"
  34.                      .replace(/&lt;/g, "<"
  35.                      .replace(/&gt;/g, ">"
  36.                      .replace(/&nbsp;/g, " "
  37.                      .replace(/&apos;/g, "'"
  38.                      .replace(/&quot;/g, "\""); 
  39.              return s; 
  40.          } 
  41.          //执行复制 
  42.          function copyCode(txt) {
    //0 成功 1 失败 2 不支持 3 已经提示 
  43.              if (window.clipboardData) {
    //IE 
  44.                  window.clipboardData.clearData(); 
  45.                  window.clipboardData.setData("Text", txt); 
  46.                  return 0; 
  47.              } else if (navigator.userAgent.indexOf("Opera") != -1) {
    //Opera                 
  48.                  return 2; 
  49.              } else if (window.netscape) {
    //火狐                 
  50.                  try { 
  51.                      netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); 
  52.                  } catch (e) { 
  53.                      alert("被浏览器拒绝!\n请在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'"); 
  54.                      return 3; 
  55.                  } 
  56.                  var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard); 
  57.                  if (!clip) 
  58.                      return 1; 
  59.                  var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable); 
  60.                  if (!trans) 
  61.                      return 1; 
  62.                  trans.addDataFlavor('text/unicode'); 
  63.                  var str = new Object(); 
  64.                  var len = new Object(); 
  65.                  var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); 
  66.                  var copytext = txt; 
  67.                  str.data = copytext; 
  68.                  trans.setTransferData("text/unicode", str, copytext.length * 2); 
  69.                  var clipid = Components.interfaces.nsIClipboard; 
  70.                  if (!clip) 
  71.                      return 1; 
  72.                  clip.setData(trans, null, clipid.kGlobalClipboard); 
  73.                  return 0; 
  74.              } else {
    //chrome ,safra         
  75.                  return 2; 
  76.              } 
  77.          }  
  78.      </script>