从浏览器粘贴事件外部读取剪贴板中的文件

4

我想知道用户剪贴板数据中是否有一个文件。

当我像这样捕获粘贴事件时,这是可能的:

document.addEventListener('paste', (event) => {
  const data = event.clipboardData;
  const file = data && data.files && data.files[0];
  if (file) {
      // do something with the file.
  }
  
});

然而,这需要用户将其粘贴到页面中。我想实现它而不需要他们执行任何操作,类似于从剪贴板捕获文本:
setInterval(()=>{
    const text = await navigator.clipboard.readText();
    if (text){
       // do something....
    }
},1000)

我可以随时运行这段代码,并“找出”用户是否在剪贴板上有任何文本。

问题是,我不能像那样访问文件。如果剪贴板上有文件,我将得到一个空字符串。

我理解这可能是一个安全问题,但至少我想知道是否有任何文件在其剪贴板上(而不是文本)。

1个回答

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接