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

时间:2016-07-12 10:29:18

标签: google-chrome clipboard

您能告诉我如何才能获得复制到剪贴板中的文本。我不想复制,因为数据是从Excel复制的。 在IE中我使用:

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

它的工作完美无缺。 铬有可能吗?或者火狐?

感谢您提前

2 个答案:

答案 0 :(得分:7)

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

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

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

答案 1 :(得分:1)

如果您希望使用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.
});