日期:2014-05-16 浏览次数:20451 次
<HTML>
<HEAD>
</HEAD>
<BODY>
<SCRIPT language=JavaScript>
<!--
function copy(ob){
var obj=findObj(ob); 
if (obj) {
obj.select();
js=obj.createTextRange();
js.execCommand("Copy");
}
}
function cut(ob){
var obj=findObj(ob); if (obj) {
obj.select();js=obj.createTextRange();js.execCommand("Cut");}
}
function findObj(n, d) {
  var p,i,x;  
  if(!d) d=document; 
  if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document;
    n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; 
  for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}
//-->
</SCRIPT>
<input type="button" name="Button" value="复制到剪贴板" onClick=copy('txtOutput')>
<input type="button" name="Button" value="剪贴到剪贴板" onClick=cut('txtOutput')>
    <br>
    <form name="fom1" method="post" action="">
    <textarea name="txtOutput" rows="5" cols="50">
    按钮复制和剪切:用按扭来实现复制和剪切,在屏了左右键的时候作用很大。
    </textarea>
  </form>
</BODY>
</HTML>
if(document.all)
    js=obj.createTextRange();
else
    js=obj.createRange();
------解决方案--------------------
function setCopy(_sTxt){
try{
if(window.clipboardData) {
   window.clipboardData.setData("Text", _sTxt);
} else if(window.netscape) {
   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 = _sTxt;
   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);
}
}catch(e){}
}
可以试下这个剪切板的是否支持