js复制网页上的内容到剪切板
2023-07-17 测试,原来的代码已经没用了,现用下面的代码,在firefox和edge上测试成功
function aaa() { var txt = $('#hfDesc').val(); navigator.clipboard.writeText(txt).then( () => { /* clipboard successfully set */ alert('复制成功'); }, () => { /* clipboard write failed */ alert('复制失败'); }, ); }
原来的代码:
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("已成功复制文本."); } }
标签:trans,网页,js,window,alert,Components,剪切板,var,txt From: https://www.cnblogs.com/niunan/p/17559769.html