Firefox中通过JavaScript复制数据到剪贴板(Copy to Clipboard 跨浏览器版)

前端技术 2023/09/03 JavaScript

复制代码 代码如下:

<!doctype html public \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
<meta name=\"Keywords\" content=\"YES!B/S!\" />
<meta name=\"Description\" content=\"This page is from http://Justinyoung.cnblogs.com\" />
<title>CSS/Javascript demo</title>
<script type=\"text/javascript\" language=\"javascript\" >
    function test(){
        copyToClipboard(\"dddd\");
    }
    copyToClipboard = 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);
}
}
</script>
</head>
<body>
 <button onclick=\"test();\">复制到粘贴板</button>
</body>
</html>

说明:Firefox的默认安全限制不允许通过JavaScript复制到剪贴板,需要提示用户修改Firefox的设置。修改方法是打开\"about:config\"将\"signed.applets.codebase_principal_support\"设置为\"true\"。

本文地址:https://www.stayed.cn/item/7531

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。