JS 复制文本到剪切板

发布时间:2011年10月21日      浏览次数:667 次
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script language="javascript">
function copyToClipboard(txt) {
      if(window.clipboardData) {
            window.clipboardData.clearData();
            window.clipboardData.setData("Text", txt);
            alert("文本内容已成功复制到剪贴板上。");
      } 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);
            alert("文本内容已成功复制到剪贴板上。");
      }
}
</script>
</head>
<body>
点击“复制”按钮,复制以下文本内容:
<div id="txt" style=" width:300px; border:1px #ccc solid; margin:5px; padding:5px;">呵呵,这是复制的文本!!</div>
<input name="btn_copy" type="button" id="btn_copy" value="复制文本" onclick="copyToClipboard(document.getElementById('txt').innerHTML);" />
</body>
</html>
免责声明:本站相关技术文章信息部分来自网络,目的主要是传播更多信息,如果您认为本站的某些信息侵犯了您的版权,请与我们联系,我们会即时妥善的处理,谢谢合作!