您的位置:首页 > Web前端 > JavaScript

js 跨 firefox ie 的复制,粘贴功能做法

2009-11-25 17:29 489 查看
 
问题内容:
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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息