Copiar al portapapeles
Hola,
Estoy programando un módulo en drupal 7 en el que tengo que imprimir un ticket de resguardo por una impresora de tickets Text/Generic (sin drivers). Después de meses y meses sin conseguirlo (o me imprime caracteres raros o mucho espacio en blanco...) he buscado una solución intermedia en que copio el ticket al portapapeles y luego lo imprimo.
Probando esto último en una página html con el código que indico a continuación me funciona bien:
<html>
<head>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.zclip.js"></script>
</head>
<body>
<script type="text/javascript" src="js/jquery.zclip.js"></script>
<script>
$(document).ready(function(){
$('a#copy-description').zclip({
path:'js/ZeroClipboard.swf',
copy:$('p#description').text()
});
});
</script>
<a id="copy-description">Link</a>
<p id=description>Esto es lo que quiero copiar</p>
</body>
</html> El problema me viene cuando lo intento integrar en mi módulo que me no me lo carga correctamente. Me da el siguiente error: $ is not a function
Si alguien me pudiese echar una mano se lo agradecería muchísimo.
- Inicie sesión o regístrese para enviar comentarios

Bueno, ya he conseguido
Bueno, ya he conseguido algo.... instalando el módulo de drupal Zero Clipboard...
En las opciones de configuración, "Selectors To Process" pongo:
#id_selector|texto a copiarAhora el problema lo tengo en que quiero copiar el contenido de una caja de texto, no un texto estático...
Muchas gracias. No había
Muchas gracias. No había visto la respuesta hasta hoy, que sigo con el mismo problema o parecido.
Estoy creando un módulo propio y sí que uso el api de drupal para incluir los archivos (drupal_add_js()). Ese problema lo solucioné sustituyendo $ por jQuery.
Pero me sigue sin funcionar. Con el siguiente código en una página html todo me funciona bien:
<script type="text/javascript" src="misc/jquery.js"></script>
<script type="text/javascript" src="misc/jquery.zclip.js"></script>
<script>
$(document).ready(function(){
$('a#copy-description').zclip({
path:'misc/ZeroClipboard.swf',
copy:$('p#description').text()
});
});
</script>
<a id=copy-description>Copiar</a>
<p id=description>Esto es lo que quiero copiar</p>
Ahora bien, al intentar incluirlo en mi módulo no me copia lo que quiero:
drupal_add_js('misc/jquery.zclip.js');
$js = "
jQuery(document).ready(function(){
jQuery('#copy-description').zclip({
path: 'misc/ZeroClipboard.swf',
copy: 'Esto es lo que quiero copiar'
});
}); ";
drupal_add_js($js, 'inline');
Me sale el alert de "Este es el texto que se ha copiado" pero no me copia...
Un par de preguntas (en imprimir desde clipboard)
Hola
Antes de tratar de ayudar necesito saber dos cosas:
1. ¿Tu página está siendo generada desde un módulo tuyo? o ¿simplemente agregas código en la ventana de edición de algún tipo de contenido?
2. En caso de estar en un módulo tuyo: ¿usas el mecanismo
<?php
$js = 'tus líneas de script javascript';
drupal_add_js($js, 'inline');
// o mediante
$jspath = "path_a_tu_archivo_js.js";
drupal_add_js($jspath);
?>
o lo incluyes a fuerza bruta?
Tengo la sospecha de que estas tratando de incluir tu js usando la etiqueta script. Si tal es el caso no te va a funcionar. Debes usar el llamado de Api de drupal:
drupal_add_js()
Espero te sirva de algo