Clipboard API
🌱 This post is in the growth phase. It may still be useful as it grows up.
Complete example for text
let copyTrigger = document.getElementById("copy_body_button");let copyContent = document.querySelector("main");
copyTrigger.addEventListener("click", () => { // Create a new clipboard item const item = new ClipboardItem({ // The clipboard item can hold multiple formats // In this case we're encoding the body as HTML for use with CMD+V (paste) "text/html": new Blob([copyContent.innerHTML], { type: "text/html" }), // And we're encoding a plaintext version for use with CMD+ALT+V (paste without formatting) "text/plain": new Blob([copyContent.innerText], { type: "text/plain" }), });
// Push it to the clipboard and handle success/failure signals navigator.clipboard.write([item]).then( function () { console.log("Async: Copying to clipboard was successful!"); }, function (err) { console.error("Async: Could not copy text: ", err); } );});