Javascript 只需从 Chrome 上的剪贴板中获取复制的文本

Javascript Just Get copyed text from clipboard on Chrome

你能告诉我如何才能获取剪贴板中复制的文本吗?我不想制作副本,因为数据是从 Excel 复制的。 在 IE 中我使用 :

  var clipText = window.clipboardData.getData('Text');

而且它工作完美。 chrome 有可能吗?或者 Firefox?

感谢提前

window.clipboardData 对象仅在 IE 中可用。网站能够访问您的剪贴板数据对我来说似乎是一个很大的安全漏洞,尤其是在您不知情的情况下。根据规范,从 Microsoft Edge 开始,它基本上已被弃用。

相反,您可以通过侦听 paste 事件来访问数据:

document.addEventListener('paste', function (event) {
  var clipText = event.clipboardData.getData('Text');
});

如果您希望使用 jQuery 并将元素绑定到 'paste' 事件,那么您可以使用 originalEvent 属性 来访问剪贴板数据调用事件。

检查 window 对象以查看 clipboardData 是否未定义。这意味着您没有使用 IE 或 Edge。

this.bind('paste', function(e){
if (window.clipboardData === undefined)
    clipText = e.originalEvent.clipboardData.getData('Text') // use this method in Chrome to get clipboard data.
else
    clipText = window.clipboardData.getData('Text') // use this method in IE/Edge to get clipboard data.
});