小编Pab*_*asa的帖子

使用document.execCommand('copy')复制到剪贴板失败并显示大文本

我正在使用隐藏文本区域放置一些文本,选择它然后使用document.execCommand将其复制到剪贴板.这通常有效但在文本很大时失败(返回false).在Chrome v55中,它似乎在180K字符左右失败.

可以通过这种方式复制的数据量是否有限制?正常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'); …
Run Code Online (Sandbox Code Playgroud)

javascript clipboard dom

10
推荐指数
1
解决办法
4383
查看次数

标签 统计

clipboard ×1

dom ×1

javascript ×1