clipboardData
起因:应项目需求,需要用某个工具截图然后粘贴上传到后台的功能!于是着手搜查资料,最终的结果就是找到了这个对象clipboardData
,然后开始着手!
一、谷歌chrome浏览器
相信这个也是很多开发者都在用的浏览器,当然也是尝试的开始。整个过程是这样的
1)使用微信截图
2)`'⌘+v, ctrl+v'`在这个页面的随意位置粘贴
3)执行上传图片到后台的流程(产生loading状态)
document.body.addEventListener('paste', files, false)
//files是一个方法,里面的参数为event
function files(event) {
//谷歌浏览器的的粘贴文件在这个对象下面
if (event.clipboardData || event.originalEvent) {
var clipboardData = (event.clipboardData || event.originalEvent.clipboardData);
//获取文件的属性就在这里获取,打印该对象可以看到相关属性,结果的操作就在items里面,所以需要循环items
let fileObj = null
for (var i = 0; i < len; i++) {
// console.log(items[i]);
if (items[i].type.indexOf("image