首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JS ClipboardEvent clipboardData总是空的

JS ClipboardEvent clipboardData总是空的
EN

Stack Overflow用户
提问于 2018-05-30 13:43:59
回答 1查看 5.2K关注 0票数 7

我想通过CTRL+V接收来自ClipboardEvent in Angular6的文件。但是clipboardData总是空的(我测试了图像和文本)。我在最新的Chrome/Firefox版本上测试了它。

正如您在屏幕截图中所看到的,文件/项属性是空的。这是我目前的代码:

代码语言:javascript
复制
  ngOnInit() {
    document.addEventListener('paste', this.pasteEvent);
  }

  private pasteEvent(e): void {
    console.log(e);
  }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-30 14:58:20

这可能是不可能的,因为安全限制和不同的浏览器支持。

要从事件中获取数据,必须在getData(format)上调用clipboardData,传递所需的MIME类型(或者只是文本的“文本”)。例如。

代码语言:javascript
复制
private pasteEvent(e): void {
  console.log(e.clipboardData.getData("text/plain");
}

才能收到短信。我不确定你是否能得到文件。

当前Chrome还支持新的剪贴板API

代码语言:javascript
复制
private async pasteEvent(e)  {
  const text = await navigator.clipboard.readText();
  console.log(text);
}

但是不支持泛型read()方法。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50606313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档