Tengo que generar una URL en el portapapeles cuando el usuario haga clic en el botón. La pregunta es, no tengo idea de cómo puedo hacer clic en esta URL cuando la pego en el correo electrónico. El resultado se convierte en texto sin formato. Y estoy usando ReactJs como mi marco de interfaz. He intentado usar Clipboard.writeText(), pero no funciona. También traté de pegar el código html en el correo electrónico, pero todo lo que obtengo es texto sin formato. He visto que otros sitios web implementaron esta función, pero realmente no sé cómo hacerlo.
Puede copiar una cadena en el portapapeles activando lo siguiente:
navigator.clipboard.writeText('text');Ejemplo completo
const [text, setText] = useState(""); const handleChange = (e) => { setText(e.target.value); }; const handleCopy = () => { navigator.clipboard.writeText(text); }; return ( <div> <input type="text" value={text} onChange={handleChange} /> <button onClick={handleCopy}>Copy</button> </div> );Si eso no funciona, revisaría la consola en busca de otros errores.
Creo que he resuelto esto por mí mismo. Simplemente coloque el código html como tipo [text/html] en la API del portapapeles y se puede copiar como se ve en una página web.