当前如何在 JavaScript 中操作剪贴板

作者:vkvi 来源:ITPOW(原创) 日期:2018-1-28

以前(很久以前了),JavaScript 可以悄悄地读写剪贴板,使用 clipboardData 对象。但是现在不行了,因为这是个漏洞:别人可以恰恰地读写剪贴板,可以恰恰地利用 Ajax 上传到服务器,这就相当于收集用户隐私了。

现在还能怎么做呢?

读取剪贴板

只有用户在粘贴的时候(包括在网页空白区域按 Ctrl + P),才可以读取剪贴板。

写入剪贴板

类似读取剪贴板。

弹出了 cftea.com,似乎成功了,然后如果我们是复制到文本框中,我们会发现,文本框中的内容并不是 cftea.com,也就是说这里写入的剪贴板仅限于这个事件内部使用,脱离了之后,仍然是系统的剪贴板内容。有人试图加上 event.preventDefault(); 阻止系统复制,这是徒劳的。

拦截粘贴行为

往文本框中粘内容,文本框结果是 www.itpow.com,并不是剪贴板中的内容。

高级获取剪贴板内容

如上代码,似乎与前面最简单的代码没区别,但是如果您复制网页,就会有区别了,它有两个 item,一个是去除 HTML 的文本,一个是带 HTML 标签的内容。

还有有人说复制文件、复制图片(比如 Photoshop 中的图片),也会被读取到,只是 kind 不是“string”罢了,但是实际上是读取不到文件、图片的。

相关文章