天天看點

js複制功能

<div>

<input id="txtUser" type="text" size=32 value="我要複制的内容" />   

  <a href="javascript:void(0);" target="_blank" rel="external nofollow" οnclick="copy();">【複制】</a> 

</div>

<script>

function copy(){

var text=document.getElementById("txtUser").value;

if(copy2Clipboard(text)!=false){ 

alert("複制成功的内容:" + text); 

}

function copy2Clipboard(txt){ 

if(window.clipboardData){ 

window.clipboardData.clearData(); 

window.clipboardData.setData("Text",txt); 

}else if(navigator.userAgent.indexOf("Opera")!=-1){ 

window.location=txt; 

}else if(window.netscape){ 

try{ 

netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); 

} catch(e){ 

alert("您使用的浏覽器不支援此複制功能,請使用Ctrl+C或滑鼠右鍵。"); 

return false; 

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=txt;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;

}

</script>