Tengo problemas para obtener una imagen que se ha pegado y copiado con el usuario junto con un texto, hice que mi función de pegado sea la siguiente.
const PasteFunction = (event) => { let paste = (event.clipboardData || window.clipboardData).getData("text"); if ( paste.includes("svg") || paste.includes("jpg") || paste.includes("jpeg") || paste.includes("gif") || paste.includes("pdf") || paste.includes("tiff") || paste.includes("raw") || paste.includes("png") || paste === "" || paste === undefined || paste === null ) { event.preventDefault(); return; } var text = (event.originalEvent || event).clipboardData.getData( "text/html" ); document.execCommand("insertHTML", true, text); };lo que pasa actualmente es que, si el usuario copia solo la imagen, evito que se pegue en mi richContentText, pero si el usuario decide copiar una imagen con una porción de texto, este código que tengo actualmente no puede reconocer que este texto tiene una imagen, y la deja pasar automáticamente... que si es algo que estoy tratando de evitar.
Entonces, siempre que haya texto, dentro del clipboardData lo pegará incluso si tiene una imagen o no en esos datos ... ¿alguien tiene una idea de cómo puedo averiguar esto?
ejemplo quisiera evitar que el usuario pegue el contenido de la imagen que muestro a continuación si decide copiarlo junto con la imagen
cambio mi funcion de pegar por lo que me dijo "primero ultimo":
const PasteFunction = (event) => { var text = (event.originalEvent || event).clipboardData.getData( "text/html" ); const parser = new DOMParser(); const doc = parser.parseFromString(text, "text/html"); var image = doc.querySelector("img"); if (image) { event.preventDefault(); return; } document.execCommand("insertHTML", true, text); };