首页 > 解决方案 > JS复制到剪贴板不起作用

问题描述

我使用 fetch 来获取一些文本并将这些文本放入 textarea。然后我选择文本并尝试复制它,但它不起作用。这是代码。

 const copy_text_from_file = (filename) => {
  fetch('/texts/show/?filename=' + filename, {
    credentials: 'include'
  }).then(function(response) {
    return response.json();
  }).then(function(json) {
    const textarea = document.getElementById('clipboard');
    textarea.focus();
    textarea.innerHTML = json.content;
    textarea.select();
    console.log( document.execCommand('copy') ); // writes false to console
  });
};

插入文本并选择 textarea 并处于焦点位置,但没有复制任何内容。当我document.execCommand('copy')从浏览器的控制台运行时,它可以工作。我尝试添加超时,但没有帮助。我尝试添加带有单击事件侦听器的按钮和触发按钮click()以复制选定的文本,但这也无济于事。

PS Textarea 可见。

标签: javascriptecmascript-6clipboard

解决方案


推荐阅读