为了账号安全,请及时绑定邮箱和手机立即绑定

在JavaScript中复制字符串[重复]

在JavaScript中复制字符串[重复]

九州编程 2019-04-17 18:15:42
是否可以在剪贴板中放置变量?我已经看到很多帖子通过选择DOM元素中存在的文本然后复制它来做到这一点,这是相当简单但我还没有看到一个复制不在DOM中的东西。我想拿一个变量或一个常量来保存一个字符串并将其发送到剪贴板,而不会出现在浏览器窗口中(即使是隐藏元素)。我知道使用隐藏元素将是一个快速的解决方案,但如果有一个更简洁的方式感觉有点hacky。
查看完整描述

2 回答

?
月关宝盒

TA贡献1772条经验 获得超5个赞

您可以使用剪贴板API。它还没有完全支持,但它非常好

你可以像这样使用它:

navigator.clipboard.writeText("hello from site!")
  .then(() => console.log(`wrote to clipboard!`))
  .catch((error) => console.error(error));

请注意,这仅适用于当前网站的重点(文档是关注的)

为了读取从剪贴板中,您可以使用以下功能:

navigator.clipboard.readText()
  .then(text => console.log(text))
  .catch((error) => console.error(error));

这个需要两件事才能工作:

  • 与以前一样,用户需要专注于网站

  • 将提示用户确认站点从剪贴板读取的能力(因为它可以包含敏感数据):

火狐

对于Firefox,除了要求用户读取剪贴板的权限外,它还只允许将其粘贴到textarea中

Firefox支持版本54的“clipboardRead”权限,但仅支持在内容可编辑模式下粘贴到元素中,对于内容脚本仅适用于。对于后台脚本,可以将任何元素设置为内容可编辑模式。


查看完整回答
反对 回复 2019-05-17
  • 2 回答
  • 0 关注
  • 1427 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信