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

2019-12-24,,,

复制代码 代码如下:
<!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"。

您可能感兴趣的文章:

  • 编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
  • 开发跨浏览器javascript常见注意事项
  • javascript Range对象跨浏览器常用操作
  • js监听表单value的修改同步问题,跨浏览器支持
  • javascript 跨浏览器开发经验总结(五) js 事件
  • javascript打造跨浏览器事件处理机制[Blue-Dream出品]
  • JavaScript判断窗口是否最小化的代码(跨浏览器)
  • 跨浏览器通用、可重用的选项卡tab切换js代码
  • css与javascript跨浏览器兼容性总结
  • js事件处理程序跨浏览器解决方案

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

下载本文的Word格式文档,以方便收藏与打印。