Me gustaría implementar un botón en un gráfico que copie el gráfico en formato png al portapapeles. Sigo esta respuesta a la pregunta relacionada aquí , pero encontré algunos problemas, por ejemplo, la función de espera asíncrona y también la función blob () no resuelta. ¿Alguien puede darme una idea de este problema?
el botón se ve así y ya se puede hacer clic
A continuación se muestra cómo se ve el código en este momento.
name: 'CopyPNGToClipboard', title: 'CopyPNGToClipboard', icon: Plotly.Icons.disk, click: function (gd) { Plotly.Snapshot.toImage(gd, { format: "png" }).once( "success", function (url){ try { debugger; const data = fetch(url); const blob = data.blob(); navigator.clipboard.write([ new ClipboardItem({ [blob.type]: blob }) ]); console.log("Image copied."); } catch (err) { console.error(err.name, err.message); } } ); }Versión editada
{ name: 'CopyToClipboard', title: 'Copy PNG To Clipboard', icon: Plotly.Icons.disk, click: function (gd) { Plotly.Snapshot.toImage(gd, { format: "png" }).once( "success", async function (url){ try { debugger; const data = await fetch(url); const blob = await data.blob(); navigator.clipboard.write([ new ClipboardItem({ [blob.type]: blob }) ]); console.log("Image copied."); } catch (err) { console.error(err.name, err.message); } } ); } }