JS复制到剪贴板兼容FF

来源:互联网 发布:java实现runnable接口 编辑:程序博客网 时间:2024/05/16 15:13
 

最近需要做个复制到剪贴板功能,做为后发现在FF下不可用,最后按如下方式解决,请看代码:

[xhtml] view plaincopyprint?
  1. <mce:script type="text/javascript"><!--  
  2. function copyToClipboard(selContent) {     
  3.      if(window.clipboardData) {     
  4.         window.clipboardData.clearData();     
  5.         window.clipboardData.setData("Text", selContent);     
  6.         alert("IE下复制成功!");     
  7.      } else if(navigator.userAgent.indexOf("Opera") != -1) {     
  8.           window.location = selContent;     
  9.      } else if (window.netscape) {     
  10.           try {     
  11.                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");     
  12.           } catch (e) {     
  13.                alert("被浏览器拒绝!/n请在浏览器地址栏输入'about:config'并回车/n然后将'signed.applets.codebase_principal_support'设置为'true'");     
  14.           }     
  15.           var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);     
  16.           if (!clip)     
  17.                return;     
  18.           var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);     
  19.           if (!trans)     
  20.                return;     
  21.           trans.addDataFlavor('text/unicode');     
  22.           var str = new Object();     
  23.           var len = new Object();     
  24.           var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);     
  25.           var copytext = selContent;     
  26.           str.data = copytext;     
  27.           trans.setTransferData("text/unicode",str,copytext.length*2);     
  28.           var clipid = Components.interfaces.nsIClipboard;     
  29.           if (!clip)     
  30.                return false;     
  31.           clip.setData(trans,null,clipid.kGlobalClipboard);     
  32.           alert("FF下复制成功!");     
  33.      }     
  34. }    
  35. // --></mce:script>  
  36. 测试内容:<input id="testContent" name="testContent" type="text" value="这是测试内容" style="width:200px"/>  
  37. <input type="button" onclick="copyToClipboard(document.getElementById('testContent').value);" value="复制"/><br/>  
  38. 粘贴测试:<input type="text" style="width:200px"/>  
 

0 0
原创粉丝点击