событие вы действительно выполните команду копирования.

ользую скрытую текстовую область, чтобы поместить текст, выделю его, а затем с помощью document.execCommand скопирую его в буфер обмена. Обычно это работает, но не работает (возвращает false), когда текст большой. В Chrome v55, похоже, не хватает около 180К символов.

Есть ли ограничение на количество данных, которые можно скопировать таким образом? Обычный Ctrl + C, похоже, не подвержен тем же ограничениям.

примечание: кто-то отметил это как возможный дубликатЕсть ли у document.execCommand ('copy') ограничение по размеру?, Это может быть похожий вопрос, но этот был помечен как специфическая структура, которую я не использую, а также, на него не было ответа. Я считаю, что мой вопрос носит более общий характер и все еще актуален.

Я прилагаю код для справки.

      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);
      }

Ответы на вопрос(0)

Ваш ответ на вопрос