是否可以在Javascript中从剪贴板onclick粘贴?

maz*_*ing 3 javascript jquery

该用例用于在私有Intranet上输入数据:用户从google文档,投递箱文本文档等中复制和粘贴,并且必须粘贴到具有许多输入的表单中。为了为他们加快速度,最好是用户可以从文档中复制和粘贴,当他们单击输入字段时,单击鼠标左键时它会自动粘贴。

我已经看到了一些较旧的问题,但似乎这(出于充分的理由)存在安全风险。但是,专用Intranet上的所有用户都知道这一点,只是想节省时间。是否有任何浏览器或技术可以做到这一点?

此外,我们可以使用任何支持它的浏览器或环境。然后如何实现此功能以节省时间?

Rob*_*uie 7

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

相关代码为:

async function paste(input) {
  const text = await navigator.clipboard.readText();
  input.value = text;
}
Run Code Online (Sandbox Code Playgroud)

如果您使用的是Chrome 66或更高版本,则可以使用。但是,请注意,出于安全原因,您必须授予网页访问剪贴板的权限,因此,第一次单击该页面上的输入时,它将弹出询问您访问剪贴板的权限。授予访问权限后,单击输入的任何内容都将粘贴剪贴板中的所有内容。

在这里,我只使用readText,但是您也可以将readData用于剪贴板上的图像等。https://developer.mozilla.org/zh-CN/docs/Web/API/剪贴板


Pit*_*den 6

尝试

el.addEventListener('click', (e) => { 
    document.execCommand('paste');
});
Run Code Online (Sandbox Code Playgroud)