📅  最后修改于: 2023-12-03 14:53:55.425000             🧑  作者: Mango
在web开发中,我们经常需要将某些链接复制到剪贴板上供用户使用。Javascript提供了两种方法来实现这个功能:
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是由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');
以上两种方法都可以很好地实现将链接复制到剪贴板。如果您使用的是新的浏览器,建议使用第二种方法以获得更好的兼容性和性能。