题意:粘贴事件中的 event.clipboardData
在 Firefox 中无法粘贴多个文件
问题背景:
I noticed Paste event.clipboardData
could only paste a single copied file from the clipboard in Firefox (130.0.1), but Chrome (129.0.6668.70) and Edge could paste multiple files just fine.
我发现粘贴事件中的 event.clipboardData
在 Firefox (130.0.1) 中只能粘贴一个复制的文件,但在 Chrome (129.0.6668.70) 和 Edge 中可以正常粘贴多个文件
I couldn't find if this was a known issue, and MDN Web Docs stated this feature as "Baseline widely available". So, could this be a bug, intended behavior or other?
我没有找到这是否是已知问题,且 MDN Web Docs 表示该功能为“基本广泛可用”。那么,这可能是一个 bug、预期行为,还是其他原因呢
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<input type="text" placeholder="Paste/Ctrl+V files anywhere">
<p>Pasted files counter: <span id="counter">0</span></p>
<p id="files" style="white-space: pre-line;"></p>
</body>
<script>
document.addEventListener('paste', event => {
Array.from(event.clipboardData.files).map(file => {
document.querySelector('#counter').innerText = parseInt(document.querySelector('#counter').innerText) + 1;
document.querySelector('#files').innerHTML += `<b>File ${document.querySelector('#counter').innerText}:</b> ${file.name} <i>(${file.type})</i>\n`;
});
})
</script>
</html>
问题解决:
This is an old bug in Firefox, not intended. Link in Bugzilla:
这是 Firefox 中的一个旧 bug,并非预期行为。Bugzilla 链接clipboardData only supports pasting one file.
It is still open. Bump it to get more attention.
这个问题仍未解决,顶一下以获得更多关注