本站不兼容 8 以前的版本的 Interner Explorer 浏览器(或基于这些版本的 IE 的其他浏览器),并且页面样式不完全兼容 IE 8,我们建议你升级至 IE 9 或改用其他非 IE 浏览器

Mozest™

  • 正在加载用户菜单…

开放、分享、互助

转播到腾讯微博
返回列表 回复 发帖

[求助] 如何实现像论坛里 复制代码 的功能

我做了个网页,需要一个功能,就是  点击 复制代码 就将 一些指定的数字例如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>