Copiar al portapapeles con javascript

Problema:

Es posible utilizar Javascript para copiar aprte de la página web al portapapeles

Es casi univesal el copiar texto seleccionado de cualquiere aplñicación al portapapeles apra luego ser pegado en otro lugar

¿Pero se podría hacer directamente desde Javasript?

Solución

Se puede usar el objeto navigator que contiene un objeto clipboard para estas tareas.

El objeto que nos interesa es clipboard, posee un método denominado writeText. Como habrás adividnado sirve para escribir en el portapapeles.

Es así de simple: elegir un bloque de la página que queramos copiar, leer su contenido en forma de texto y escribirlo con este método.

En el ejemplo basta con pulsar sobre el texto, este se copiará al portapapeles.

Si qiueires copiar el HTML cambia innerText por innerHTML

Ejemplo

En este caso al pulsar con el ratón sobre el texto, este se copiará al portapapeles.

<div id="texto" onclick="copiar()">

Este texto será copiado al <b>portapapeles</b> al completo<br>

Solo se copia texto

</div>

<script>

function copiar(){

let blq = event.currentTarget;

let txt = blq.innerText;

navigator.clipboard.writeText(txt)

}

</script>