La API del Portapapeles puede copiar texto después de que un visitante activa un control. Debido a que el acceso al portapapeles depende de los permisos y del contexto, ejecútelo directamente desde el controlador de clics e informe cuando no esté disponible.

copyButton.addEventListener("click", async () => {
  try {
    await navigator.clipboard.writeText(textToCopy);
    status.textContent = "Copied";
  } catch {
    status.textContent = "Could not copy. Select the text and copy it manually.";
  }
});

Hacer comprensible la acción

  • Utilice un botón real con una etiqueta como "Copiar enlace".
  • Anuncie el resultado en una región de estado cercana cuando, de otro modo, el mensaje se perdería.
  • Mantenga el texto original seleccionable para que los visitantes tengan otra forma de copiarlo.

Manejar las restricciones del navegador

Las escrituras en el portapapeles generalmente requieren un contexto seguro y un gesto del usuario. No finja en silencio que la copia tuvo éxito cuando la promesa se rechaza.

Prueba con activación del teclado y con permiso del portapapeles denegado. Un respaldo claro es mejor que un botón que parece funcionar pero deja el portapapeles sin cambios.