Comunidad de diseño web y desarrollo en internet online

funcion execCommand(copy) en Chrome

Citar            
MensajeEscrito el 23 Abr 2016 06:47 pm
Buenas, tengo un problema con la funcion execCommand(copy) en Chrome al momento de pegar el contenido html en cualquier lado.
Tengo un intranet desarrollado con html5 y jquery, la misma cuenta con un formulario con inputs y selects y una vista previa donde va mostrando al instante los datos modificados. Los datos son tomados desde el formulario y mostrados en html con la etiqueta <output> la cual programé para que obtenga los datos con jquery.
El problema está en que al utilizar la función copy a través de un botón lo copia perfecto, pero al momento de pegarlo en algun lado tengo un problema ya que me descompagina la información, es como que le agrega un <br> despues de los datos tomados desde la etiqueta <output>. Lo raro de esto es que solo me pasa cuando copio desde Chrome, porque lo chequee con IE y Mozilla y funciona perfecto.

Quería saber si alguien tiene alguna idea de lo que puede estar pasando.

Gracias!

Por niko001

0 de clabLevel



 

chrome
Citar            
MensajeEscrito el 02 Jun 2016 05:28 pm
Hola:
Primeramente creas un button:
<p>
Envíame un mensaje a
<a class="email" href="mailto:[email protected]">[email protected]</a>
</p>

<button class="botonCopiar">Copiar</button>

Ya despues nos vamos al codigo de JavaSscript:
var boton = document.querySelector('.botonCopiar');

boton.addEventListener('click', function(event) {
// seleccionar el texto de la dirección de email
var email = document.querySelector('.email');
var range = document.createRange();
range.selectNode(email);
window.getSelection().addRange(range);

try {
// intentar copiar el contenido seleccionado
var resultado = document.execCommand('copy');
console.log(resultado ? 'Email copiado' : 'No se pudo copiar el email');
} catch(err) {
console.log('ERROR al intentar copiar el email');
}

// eliminar el texto seleccionado
window.getSelection().removeAllRanges();
// cuando los navegadores lo soporten, habría
// que utilizar: removeRange(range)
});

Para mas dudas ve este link: http://librosweb.es/tutorial/como-copiar-cortar-y-pegar-contenidos-en-el-portapapeles-con-javascript/

Por Fernando Reyes Ramirez

1 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.