RT  点击input或者按钮  复制链接 发送给好友  这个功能很常见 求个兼容FF的 ,最好能和开心网的效果一样(可以登录开心网点击“邀请” 然后看看他的效果)

解决方案 »

  1.   

    <input type="text" onfocus="p(1)"><input type="text" onfocus="p(2)"><input type="text" onfocus="p(3)">
    <script type="text/javascript">
    function p(n){
    var txt;
    if(n == 1)txt = 1234;
    else if(n == 2)txt = 5678;
    else txt = 90;alert(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("被浏览器拒绝!\n您可以在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'");
    }
    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();
    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>
      

  2.   

    <span id="span">http://www.baidu.com</span><input type="button" value="复制" onclick="test()">
    <script type="text/javascript">
    function p(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("被浏览器拒绝!\n您可以在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'");
    }
    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();
    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);
    }
    }function test(){
    //直接调用p(txt)就行了
    p(document.getElementById("span").innerHTML);
    alert("复制成功");
    }
    </script>
      

  3.   

    <span id="span">http://www.baidu.com</span><input type="button" value="复制" onclick="test()">
    <script type="text/javascript">
    function p(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("被浏览器拒绝!\n您可以在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'");
    }
    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();
    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);
    }
    }function test(){
    //直接调用p(txt)就行了
    p(document.getElementById("span").innerHTML);
    alert("复制成功");
    }
    </script>
      

  4.   

    http://blog.csdn.net/qq415734794/archive/2009/06/13/4265934.aspx
      

  5.   

    报告LZ 开心的邀请在我的FF下无效 IE下倒是有效
    FF:3.6.10
      

  6.   

    在一个网上看到的:copyurl('this_url');//内容页复制网址
    function copyurl(id){
            var testCode=$("#"+id)[0].value;
    if(copy2Clipboard(testCode)!=false){
    $("#"+id).select();
    alert("已复制,使用Ctrl+V粘贴出来发给你的朋友吧`");
            }
    }
    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("您的firefox安全限制限制您进行剪贴板操作,请打开'about:config'将signed.applets.codebase_principal_support'设置为true'之后重试。");
                                    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);
            }
    }