📜  将链接复制到剪贴板 - Javascript (1)

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

将链接复制到剪贴板 - Javascript

在web开发中,我们经常需要将某些链接复制到剪贴板上供用户使用。Javascript提供了两种方法来实现这个功能:

方法一:使用document.execCommand方法
function copyToClipboard(url) {
  var input = document.createElement('input');
  input.setAttribute('value', url);
  document.body.appendChild(input);
  input.select();
  document.execCommand('copy');
  document.body.removeChild(input);
}

这个函数的作用是将url保存到一个input元素中,然后将这个元素添加到body中,并将其选中。最后,调用document.execCommand('copy')方法将选中的文本复制到剪贴板上。最后,将input元素从body中删除。

调用方式:

copyToClipboard('https://www.example.com');
方法二:使用Clipboard API

Clipboard API是由W3C定义的一个新标准,可以将设备上的文本、图像和其他数据复制到系统剪贴板中,并从剪贴板粘贴内容。

async function copyToClipboard(url) {
  try {
    await navigator.clipboard.writeText(url);
  } catch (err) {
    console.error('Failed to copy: ', err);
  }
}

这个函数使用了Clipboard全局对象中的writeText方法,该方法将文本复制到剪贴板。这个方法返回一个Promise,如果复制成功,则Promise解析为undefined,否则会抛出一个错误。

调用方式:

copyToClipboard('https://www.example.com');

以上两种方法都可以很好地实现将链接复制到剪贴板。如果您使用的是新的浏览器,建议使用第二种方法以获得更好的兼容性和性能。