¿Cómo copiar texto al portapapeles usando JavaScript?
¡Hola a todos! Soy un desarrollador frontend principiante y me encontré con una tarea aparentemente simple: necesito hacer un botón que copie algún texto (por ejemplo, un enlace o código) al portapapeles del usuario. Probé varios métodos de artículos antiguos, pero o funcionan mal o no funcionan en absoluto en navegadores modernos.
Esto es lo que probé:
```javascript
function copyText() {
const text = document.getElementById('myText').innerText;
// Intento usar execCommand
const textarea = document.createElement('textarea');
textarea.value = text;
document.body.appendChild(textarea);
textarea.select();
document.execCommand('copy');
document.body.removeChild(textarea);
alert('¡Copiado!');
}
```
Este código funciona en navegadores antiguos, pero en la consola de Chrome veo una advertencia de que `execCommand` está obsoleto. Además, crea elementos innecesarios en el DOM, y parece un parche. También he oído hablar de la Clipboard API, pero no entiendo cómo usarla correctamente.