Você está na página 1de 2

/ Crear un plugin de jQuery que imprime el elemento dado. jQuery.fn.

print = function () { / / NOTA: Estamos recortando la coleccin de jQuery hasta el / / El primer elemento de la coleccin. if (this.size ()> 1) { this.eq (0) print ().; retorno; } Else if (! This.size ()) { retorno; } / / Afirmar: En este momento, sabemos que el actual jQuery / / Coleccin (como se define en esto), contiene slo una / / Imprimir los elementos. / / Crear un nombre aleatorio para el marco de impresin. var strFrameName = ("impresora" + (new Date ()) getTime ().) / / Se crea un iframe con el nuevo nombre. var JFrame = $ ("<iframe name='" + + strFrameName "'>"); / / Ocultar el cuadro (o menos) y se unen al cuerpo. JFrame . Css ("ancho", "1px") . Css ("altura", "1px") . Css ("posicin", "absoluta") . Css ("izquierda", "-9999px") . AppendTo ($ ("el cuerpo: en primer lugar")) ; / / Obtener una referencia a fotogramas el nuevo marco. var = objFrame window.frames [strFrameName]; / / Obtener una referencia a la DOM en el nuevo marco. var = objDoc objFrame.document; / / Agarra todas las etiquetas de estilo y copiar a la nueva / / Documento, de modo que la captura de apariencia y sensacin de / / El documento actual. / / Crear un DIV documento temporal para mantener las etiquetas de estilo. / / Esta es la nica forma que pude encontrar para lograr el estilo / / Etiquetas en IE. var jStyleDiv = $ ("<div"). append ( $ ("Estilo"). Clone () ); / / Escribir el cdigo HTML para el documento. En esto, vamos a / / Escribir el cdigo HTML del elemento actual. objDoc.open (); objDoc.write ("<DOCTYPE html PUBLIC \" - / / W3C / / DTD XHTML 1.0 Transitional / / EN \ "\" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd \ ">"); objDoc.write ("<html>"); objDoc.write ("<body>"); objDoc.write ("head"); objDoc.write ("<title>"); objDoc.write (document.title); objDoc.write ("</ title>"); objDoc.write (jStyleDiv.html ()); objDoc.write ("</ head>");

objDoc.write objDoc.write objDoc.write objDoc.close

(this.html ()); ("</ body>"); ("</ html>"); ();

/ / Se imprime el documento. objFrame.focus (); objFrame.print (); / / Tiene la misma estructura quitar en un minuto, para que / / Que no se acumulen demasiados de estos marcos. setTimeout ( function () { jFrame.remove (); }, (60 * 1000) ); } El propio plugin no es demasiado complicado - que estamos creando un iframe en l a marcha, escribiendo el cdigo HTML de destino para su cuerpo, y luego imprimirlo . Es un concepto simple, pero hubo algunos problemas con su funcionamiento en In ternet Explorer (IE). Las siguientes salvedades me tropezar en un primer momento : En IE, usted tiene que centrarse () el IFrame antes de imprimir que de otra form a se imprime la pgina superior. En IE, segu recibiendo errores al intentar usar jQuery para escribir las etiqueta s de estilo en la cabeza IFrame. Por lo tanto, tuve que escribir el cdigo HTML () de las etiquetas de estilo que yo estaba escribiendo el documento. Las etiqueta s de estilo son cruciales en el documento, ya que determinar la apariencia de los contenidos impresos.

Você também pode gostar