Estoy creando un sitio para mi organización que genera plantillas para los usuarios
Puedo copiar una plantilla elegida en el portapapeles del usuario así:
function copyTemplateText(){ let text_to_copy = document.getElementById("templateText").innerHTML; if (!navigator.clipboard){ // Pass } else{ navigator.clipboard.writeText(text_to_copy).then( function(){ console.log('copied'); // success }) .catch( function() { console.log('not copied');// fail }); }Esta plantilla deberá pegarse en el área de texto de un sitio web externo. De acuerdo, los usuarios solo necesitan CTRL + V y terminar, pero me preguntaba si esto se puede hacer automáticamente. ¿Cómo puedo pasar una función de mi sitio a este nuevo? es posible?
Pseudocódigo:
copyTemplateText('..runs'); let pasteHere = document.getElementByID('textBox'); pasteHere.innerText = What's in the clipboard;Intenté hacerlo con sessionStorage:
navigator.clipboard.readText().then(clipText => sessionStorage.setItem("clipboard", clipText)); let pasteHere = document.getElementById("textBox"); pasteHere.innerText = sessionStorage.getItem("clipboard");Pero eso no funciona. Yo obtengo:
Uncaught TypeError: Cannot set properties of null (setting 'innerText || innerHTML') at HTMLAnchorElement.pasteTicketTemplate Uncaught (in promise) DOMException: Document is not focused.¿Es factible lo que estoy tratando de hacer? Si es así, ¿cómo voy a hacer esto?
¡Gracias un montón!