该用例适用于在私有intranet上输入数据:用户从google docs、dropbox文本文档等进行复制和粘贴,然后必须粘贴到包含多个输入的表单中。为了加快速度,如果用户可以从文档中复制和粘贴,并且当他们单击输入字段时,当他们左键单击时,它会自动粘贴。
我看过一些老问题,但这似乎是一个安全风险(这是有充分理由的)。但是,私有intranet上的所有用户都知道这一点,并且只想节省时间。有没有什么浏览器或技术可以做到这一点?
此外,我们可以使用任何支持它的浏览器或环境。那么我如何才能实现这个功能来节省时间呢?
发布于 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
发布于 2018-06-01 06:51:18
试一试
el.addEventListener('click', (e) => {
document.execCommand('paste');
});
https://stackoverflow.com/questions/50633601
复制相似问题