CSDN=>FAQ=>FAQ 展示
  • 问题内容:Firefox实现IE下的复制粘贴功能
  • 原讨论链接:http://community.csdn.net/expert/topicview1.asp?id=5115440
  • 所属论坛:JavaScript     审核组:WEB开发
  • 提问者:wab81923     解决者:brothercat
  • 感谢:
  • 关键字:JavaScript Web 开发 网址 input value type return txt var clip components.classes
  • 答案:

    function cpylink(btn,obj)
    {
    therange=obj.createTextRange();
    therange.execCommand("copy");
    btn.value = "       复制完毕       ";
    }

    <input type="hidden" id="myurl" name="myurl" size="10" value='www.zyqRadio.com'>
    <input type="button" value="     复制本站网址     " name="B3" onclick="javascript:cpylink(this,document.getElementById('myurl'))" >
    ---------------------------------------------------------------

    FF里这个问题比较麻烦,因为大部分情况FF里处于安全考虑都会禁用复制功能,所以首先你要在FF浏览器的地址栏里输入:about:config  设置"signed.applets.codebase_principal_support"选项的值为true,然后照下面代码来写:

    ===============================================================================
    <html>

    <head>
    <title>兼容的复制功能</title>
    <script>
    function copylink(btn,inputtxt)
    {
      var therange=inputtxt.value;
      copyToClipboard(therange);
      btn.value = "       复制完毕       ";
    }
    function copyToClipboard(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();  
            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>
    </head>

    <body>
    <input type="hidden" id="hiddenurl" size="10" value="www.csdn.net">
    <input type="button" value="     复制本站网址     " name="B3" onclick="javascript:copylink(this,document.getElementById('hiddenurl'))" >
    </body>

    </html>

  • 评价: 有价值 给朵鲜花(3) 无价值 扔个鸡蛋(0)
相关FAQ
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo