首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >可以在Javascript中从剪贴板上单击粘贴吗?

可以在Javascript中从剪贴板上单击粘贴吗?
EN

Stack Overflow用户
提问于 2018-06-01 06:20:37
回答 2查看 24.8K关注 0票数 10

该用例适用于在私有intranet上输入数据:用户从google docs、dropbox文本文档等进行复制和粘贴,然后必须粘贴到包含多个输入的表单中。为了加快速度,如果用户可以从文档中复制和粘贴,并且当他们单击输入字段时,当他们左键单击时,它会自动粘贴。

我看过一些老问题,但这似乎是一个安全风险(这是有充分理由的)。但是,私有intranet上的所有用户都知道这一点,并且只想节省时间。有没有什么浏览器或技术可以做到这一点?

此外,我们可以使用任何支持它的浏览器或环境。那么我如何才能实现这个功能来节省时间呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-01 07:00:31

剪贴板API包含在Chrome 66中。在这里检查jsfiddle:https://jsfiddle.net/zm490d6a/

相关代码为:

async function paste(input) {
  const text = await navigator.clipboard.readText();
  input.value = text;
}

如果你使用的是Chrome 66或更高版本,这将会起作用。但是,请注意,出于安全原因,您必须授予网页访问剪贴板的权限,因此当您第一次单击该页面上的输入时,它将弹出询问您是否允许访问剪贴板。一旦你给它访问权,对输入的任何点击都会粘贴剪贴板上的任何内容。

这里我简单地使用了readText,但是你也可以在剪贴板上使用readData来处理图像等。https://developer.mozilla.org/en-US/docs/Web/API/Clipboard

票数 16
EN

Stack Overflow用户

发布于 2018-06-01 06:51:18

试一试

el.addEventListener('click', (e) => { 
    document.execCommand('paste');
});
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50633601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档