回答

收藏

如何在 JavaScript 中复制到剪贴板?

技术问答 技术问答 400 人阅读 | 0 人回复 | 2023-09-11

将文本复制到剪贴板(多浏览器)的最佳方法是什么?
$ C9 g6 |/ |9 X  z  S. W我努力了:4 b* E2 ~# \3 f+ \7 v
function copyToClipboard(text)    if (window.clipboardData) { // Internet Explorer        window.clipboardData.setData("Text",text);   else        unsafeWindow.netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");        const clipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);        clipboardHelper.copyString(text);   但在 Internet Explorer 中,它给出了语法错误。Firefox 中,它说unsafeWindow is not defined。: k( o. p! o0 t1 ^4 b3 O
                                                               
4 y+ S. X/ A3 U( E, T    解决方案:                                                               
3 s. \7 b( a  m0 _. H/ w0 v  w& b                                                                自动复制到剪贴板可能很危险,所以大多数浏览器(Internet Explorer 除外)都让它很难。就个人而言,我使用以下简单的技巧:8 ]* ]; ~3 D) t7 R5 E& R( v2 O' a
function copyToClipboard(text) {  window.prompt("Copy to clipboard: Ctrl C,Enter",text);}将提示框呈现给用户,已选择复制文本。现在按下Ctrl C和Enter(关闭框)就够了——看!
# X# w1 ?6 W1 M/ t$ a+ G由于用户手动(但以一种非常简单的方式),剪贴板的复制操作现在是安全的。当然,它适用于所有浏览器。
4 Y/ O& ~) C/ l  ~+ C: T; a0 YThis is what I want to copy
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则