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

标签 javascript jquery

用例用于在私有(private)内部网上输入数据:用户从 google 文档、dropbox 文本文档等复制和粘贴,并且必须粘贴到包含许多输入的表单中。为了加快他们的速度,如果用户可以从文档中复制和粘贴,并且当他们单击输入字段时,它会在他们左键单击时自动粘贴,那就太好了。

我看过一些较早的问题,但看起来这是(并且有充分的理由)安全风险。然而,私有(private)内部网上的所有用户都知道这一点,只是想节省时间。是否有任何浏览器或技术允许这样做?

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

最佳答案

剪贴板 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

关于javascript - 是否可以在 Javascript 中从剪贴板 onclick 粘贴?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50633601/

相关文章:

javascript - asp.net 使用 Javascript 禁用/启用验证器

javascript - 我可以从另一个上下文的 test.each 标记模板文字中捕获测试吗?

javascript - AJAX/jQuery 表单提交 shoutbox

javascript - 如何在默认情况下最小化 JQuery UI Portlet

javascript - 在 Vue 项目中使 axios 全局化不起作用

javascript - 在 laravel 和 vue 中使用 axios 上传文件和输入数据

jquery - 页面加载后如何制作动画

javascript - 现有 JavaScript 可以平滑滚动到 id,希望帮助为特定 id 添加异常(exception)

javascript - 所有事件的单个事件处理程序 javascript/jQuery

javascript - 如何在网络语言中以不规则多边形缩放图像。?