JS获取剪切板内容

JavaScript011

JS获取剪切板内容,第1张

使用wangEditor粘贴excel数据时,如果数据中没有图片,一切正常。但是当excel中带有本地图片的数据时,由于js没有读取本地磁盘的权限而显示图片失败,同时也不可能把本地图片地址上传到服务器。

wangEditor应该取的是剪切板中html格式数据,这并不是我们想要的。根据产品提醒,禅道的富文本能够粘贴excel数据带图片。通过调试器分析,得知禅道取剪切板中有图片格式数据,转为base64上传到服务器后,使用img引用图片。

不能!

原因很简单:这涉及到个人隐私。

试想你在本地电脑或 a.com 复制或剪切了一些内容,然后浏览 b.com,如果 b.com 有能力获取用户复制或剪切的内容,这等于泄露了用户的个人隐私。

至于粘贴,你可以使用 Javascript 在文本框上监听键盘事件 (Ctrl + V / Shift + Ins) ,或者鼠标点击事件 (onmouseup),或者直接监听 onpaste。在这些事件被触发前,记录文本框内容,在事件被触发后,对比前后内容来获取被粘贴的数据。

获取被粘贴数据的代码较长,我写在空间了,如果有兴趣可以看一下。

hi.baidu.com/keneks/item/23f09b18d77075088ebde48b

可以用 js 给页面中的元素绑定 paste 事件的方法,当用户鼠标在该元素上或者该元素处于 focus 状态,绑定到 paste 事件的方法就运行了。

绑定的元素不一定是 input ,普通的 div 也是可以绑定的,如果是给 document 绑定了,就相当于全局了,任何时候的粘贴操作都会触发。