首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Safari ClipboardEvent.clipboardData检查是否粘贴了图像

Safari ClipboardEvent.clipboardData检查是否粘贴了图像
EN

Stack Overflow用户
提问于 2017-10-13 23:24:35
回答 1查看 284关注 0票数 1

我需要添加额外的行为,当用户粘贴图片在移动Safari。我使用下面的代码来获取clipboardData

代码语言:javascript
复制
document.getElementById('content').addEventListener('paste', function(e) {
    var clipboardData = e.clipboardData;
// check if image were pasted
}

从这一点上,我如何检查它的图像(jpg,png,gif)是否被粘贴?

EN

回答 1

Stack Overflow用户

发布于 2017-10-19 12:26:19

我无法从e.clipboardData获取数据,因为它根本没有显示任何数据。所以我用可编辑的div代替,这样你就可以检查它是否是可编辑的div中的一个图像,并找出里面有什么。

代码语言:javascript
复制
document.getElementById("content").addEventListener("paste", function(e) {
  setTimeout(() => {
    var pasted = $("#content").children();
    if (!pasted.length) {
      console.log("nothing pasted!");
      return;
    }
    pasted.map((i, x) => {
      if (x.tagName != "IMG") {
        console.log(x);
        console.log(`${x.tagName} not image`);
        return;
      }
      console.log(`pasted image=[${x.src}]!`);
    });
  });
});
代码语言:javascript
复制
#content {
  width: 200px;
  height: 200px;
  border: 1px solid black;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='content' contenteditable='true'></div>

当您获得data-url时,您可以联系jpgpng,否则将更加复杂,需要一个后端api。

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

https://stackoverflow.com/questions/46733207

复制
相关文章

相似问题

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