javascriptfirefoxchromiumclipboarddata

Paste event.clipboardData not pasting multiple files in 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.

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?

<!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>


Solution

  • This is an old bug in Firefox, not intended. Link in Bugzilla: clipboardData only supports pasting one file.

    It is still open. Bump it to get more attention.