【发布时间】:2021-02-07 05:40:14
【问题描述】:
我想知道用户剪贴板数据上是否有文件。
当我像这里这样捕获粘贴事件时,这是可能的:
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)
我可以随时运行此代码,并“找出”用户的剪贴板上是否有任何文本。
问题是我无法访问这样的文件。如果剪贴板上有文件,我会得到一个空字符串。
我知道这可能是一个安全问题,但至少我想知道他们的剪贴板上是否有任何文件(而不是文本)
【问题讨论】:
标签: javascript google-chrome firefox browser safari