将文本复制到剪贴板上页面已准备就绪

时间:2018-08-16 10:35:42

标签: javascript jquery copy

我正在尝试为用户提供一种在他/她进入页面时自动复制文本的方法。 我可以使用这样的输入和按钮使其工作:

<input type="text" id="text-field" value="Some text">
<button onclick="copyToClipboard()"> Copy </button>

和此js函数:

const copyToClipboard = str => {
  $('#text-field').select();
  try {
    if (!document.execCommand('copy')) {
      throw false;
    }
    alert('Copied');
  } catch (error) {
    alert('An error has occurred!');
  }
};

当我单击按钮时,将复制文本。

问题是我想在页面加载时执行此操作。因此,我尝试编写如下内容:

$(function() {
  copyToClipboard();
});

但它显示“发生了!”

有什么办法可以使这项工作成功吗?

1 个答案:

答案 0 :(得分:1)

这是预期的行为。

https://www.w3.org/TR/clipboard-apis/#integration-with-rich-text-editing

  

通过脚本API触发的复制和剪切命令将仅   如果调度了事件,则会影响真实剪贴板的内容   来自用户信任并触发的事件,或者   实现中配置为允许这样做。