A cópia para a área de transferência com document.execCommand ('copy') falha com grandes textos

Estou usando uma área de texto oculta para colocar algum texto, selecione-o e, em seguida, use document.execCommand para copiá-lo para a área de transferência. Isso geralmente funciona, mas falha (retorna falso) quando o texto é grande. No Chrome v55, parece falhar em torno de 180 mil caracteres.

Existe um limite para a quantidade de dados que podem ser copiados dessa maneira? Ctrl + C normal não parece sujeito às mesmas limitações.

nota: alguém marcou isso como uma possível duplicata deDocument.execCommand ('copy') tem uma limitação de tamanho?. Pode ser uma pergunta semelhante, mas essa foi marcada como uma estrutura específica que eu não uso e também não foi respondida. Acredito que minha pergunta é mais geral e ainda relevante.

Anexo o código para referência.

      function copyTextToClipboard(text) {
        var textArea = document.createElement('textarea');
        textArea.style.position = 'fixed';
        textArea.style.top = 0;
        textArea.style.left = 0;
        textArea.style.width = '2em';
        textArea.style.height = '2em';
        textArea.style.padding = 0;
        textArea.style.border = 'none';
        textArea.style.outline = 'none';
        textArea.style.boxShadow = 'none';
        textArea.style.background = 'transparent';
        textArea.value = text;
        document.body.appendChild(textArea);
        textArea.select();
        try {
          var successful = document.execCommand('copy');
          var msg = successful ? 'successful' : 'unsuccessful';
          console.log('Copying text command was ' + msg);
        } catch (err) {
          console.log('Oops, unable to copy');
        }
        document.body.removeChild(textArea);
      }

questionAnswers(1)

yourAnswerToTheQuestion