如何实现像论坛里 复制代码 的功能
我做了个网页,需要一个功能,就是 点击 复制代码 就将 一些指定的数字例如56789复制到剪贴板,就像论坛里面 的 点击 复制代码功能,请问怎么实现这个功能,论坛里点击复制以后,还要跳出一个确认窗口,能不能直接就复制成功呢?? 我找到一段java代码,我试了试,可以实现复制功能,可是每次都要选择,不能像论坛里面这样一点就复制了
<script type="text/javascript">
function copyCode(id) {
var testCode=document.getElementById(id).value;
if(copy2Clipboard(testCode)!=false){alert("复制成功");}
}
copy2Clipboard=function(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("打开’about:config’将signed.applets.codebase_principal_support’设置为true’,相对路径为ff根目录/greprefs/all.js");
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);
}
}
</script>
页:
[1]