📜  如何在 js 中复制文本 - Javascript (1)

📅  最后修改于: 2023-12-03 14:52:22.592000             🧑  作者: Mango

如何在 js 中复制文本

在 JavaScript 中,我们可以使用 Clipboard API 实现复制文本的功能。Clipboard API 需要用户的明确授权才能进行复制操作,因此我们需要先获取该授权。

1. 获取授权

我们需要监听用户的点击或其他行为,之后调用 navigator.clipboard.writeText(text) 方法,该方法会返回一个 Promise 对象。如果用户授权并且复制成功,该 Promise 对象将会被 resolve;否则,它将会被 reject。

// 添加点击事件监听器
document.getElementById('copy-button').addEventListener('click', async () => {
  try {
    // 向用户获取授权
    await navigator.clipboard.writeText('Hello World!');
    console.log('Text copied to clipboard');
  } catch (err) {
    console.error('Failed to copy: ', err);
  }
});

上述代码中,我们为拥有 id 为 copy-button 的元素添加了点击事件监听器。当用户点击该元素时,会弹出一个授权对话框。如果用户同意授权并且复制成功,会在控制台输出 "Text copied to clipboard"。 如果复制失败,错误信息会在控制台输出。

2. Markdown 格式的代码片段
// 添加点击事件监听器
document.getElementById('copy-button').addEventListener('click', async () => {
  try {
    // 向用户获取授权
    await navigator.clipboard.writeText('Hello World!');
    console.log('Text copied to clipboard');
  } catch (err) {
    console.error('Failed to copy: ', err);
  }
});

注意:在使用 Clipboard API 时,您的网站必须采用安全的连接( https:// ),否则浏览器会发出警告。