我想知道用户剪贴板数据中是否有一个文件。
当我像这样捕获粘贴事件时,这是可能的:
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)
我可以随时运行这段代码,并“找出”用户是否在剪贴板上有任何文本。
问题是,我不能像那样访问文件。如果剪贴板上有文件,我将得到一个空字符串。
我理解这可能是一个安全问题,但至少我想知道是否有任何文件在其剪贴板上(而不是文本)。