用例是用于私人内部网上的数据输入:用户从谷歌文档,保管箱文本文档等复制和粘贴,并且必须粘贴到具有许多输入的表单中。为了加快速度,如果用户可以从文档中复制和粘贴它们会很好,当他们点击输入字段时,它会在他们左键单击时自动粘贴。
我已经看到了一些较旧的问题,但看起来这是(并且有充分理由)安全风险。但是,私有内部网上的所有用户都知道这一点,只是想节省时间。是否有任何浏览器或技术可以允许这个?
另外,我们可以使用支持它的任何浏览器或环境。那么如何才能实现此功能以节省时间?
答案 0 :(得分:3)
剪贴板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
答案 1 :(得分:1)
尝试
el.addEventListener('click', (e) => {
document.execCommand('paste');
});