martes, 2 de febrero de 2016

Generar PDF con PHP

Genera PDFs Dinámicamente con PHP


PDF logo
PDF es el Formato de Documento Portable desarrollado por Adobe. Es un estándar abierto implementado por Adobe en su serie de software Acrobat, pero que puede ser implementado y extendido por cualquiera que tenga tiempo disponible, ganas y le agarre la mano. Un truco de gran potencial es usar PHP para generar archivos PDF y servirlos a través de la web en forma dinámica.
PHP puede hacer mucho por su sitio web. Puede generar recibos, facturas y folletos atractivos para imprimir. Disco-Cover tiene un sitio de prueba que busca automáticamente información acerca de un CD y, a continuación, genera una etiqueta PDF para el caja del CD que usted puede imprimir, recortar y usar. Hay literalmente millones de posibles usos para archivos PDF generados dinámicamente.
Entonces, ¿qué estas esperando?

Existen varias opciones para generar PDF. La estándar, la forma clásica de hacerlo es con la librería PDFlib. Porque es ampliamente utilizada y está integrada en PHP, ésa es la biblioteca que describiremos. Pero no es la única forma de generar PDFs. El código fuente de PDFlib se encuentra disponible, pero no es gratis. La licencia especifica que PDFlib se puede utilizar y redistribuir sin cargo en proyectos no comerciales, pero para usarla en forma comercial se debe pagar un arancel.
También existen opciones completamente gratuitas. Estas incluyen R&OS, FPDF y Panda. La decisión es tuya. (No he tenido la oportunidad de probar estos paquetes gratuitos extensivamente. Si has tenido alguna experiencia positiva o negativa con ellos, por favor deja tu comentario aquí).

Instalación

Para instalar PDFlib primero debes descargar el código fuente de PDFlib (la versión compilada se encuentra disponible pero deja una marca de agua en el documento creado). Descomprime el archivo e instálalo de acuerdo a las instrucciones proporcionadas para tu plataforma. Vamos a asumir que tienes PHP funcionando. Las instrucciones para instalar PDFlib están incluidas en la descarga, pero de todas maneras describiré los pasos a seguir para sistemas Unix (incluyendo Mac OS X).
Este artículo puede que esté desactualizado respecto a versiones y parches. En general, antes de instalar PDFlib es una buena idea descargar el manual PDFlib en PHP.
Instala los archivos en los lugares indicados en las instrucciones.
En el directorio de tu PHP, recompila el archivo de configuración: ./buildconf
Recompila PHP, agregando la opción –with-pdflib=PDFDIR (cambia PDFDIR por el nombre del directorio en donde PDFlib se encuentra instalado).
Reinicia Apache y listo!

Cómo usarla

PDFlib, en conjunto con PHP, tiene cientos de funciones disponibles para crear PDFs. Para ahorrar tiempo y espacio, sólo describiré algunas de ellas. Todas las posibles funciones son detalladas en el sitio de PHP y en la documentación que acompaña los archivos de PDFlib.
Veamos paso a paso como crear un documento PDF. Nada extravagante, sólo una página con un par de líneas de texto. Para empezar, necesitamos iniciar un nuevo objeto PDF con la función pdf_new(). Necesitaremos asignar el objeto a la variable $pdf. Esta es l a variable que usaremos para hacer referencia al PDF que crearemos.
$pdf = pdf_new();
A continuación queremos crear un archivo PDF en blanco. Esto se hace con la función PDF_begin_document(). Le debemos indicamos el nombre del objeto PDF con el que estamos trabajando:
PDF_begin_document($pdf);
Siguiendo rápidamente con lo anterior: contamos ahora con un objeto PDF que contiene un archivo PDF en blanco. Ahora empezamos a llenarlo. Primero vamos a definir los campos de metadatos para el PDF. Este paso es opcional. Cada PDF tiene información de encabezado en la que se puede especificar el título del documento, creador, y así sucesivamente. Establecemos estos datos con la función pdf_set_info(). Esta función tiene tres argumentos: el objeto PDF col el que estamos trabajando, el nombre de la propiedad que queremos establecer y su valor. Las propiedades predefinidas que se pueden utilizar son: Author (autor), Creator (creador), Keywords (palabras claves), Subject (tópico), y Title (título). Por ejemplo:
pdf_set_info($pdf, "Author", "Paul Adams");
A continuación creamos la primer página de nuestro PDF, especificando el ancho y luego la altura en puntos. Un punto es 1/72 de pulgada, por lo que si queremos una página de 8.5 por 11 pulgadas, lo hacemos multiplicando:
pdf_begin_page($pdf, (72 * 8.5), (72 * 11));
(Si nos estás siguiendo con papel y lápiz, te habrás dado cuenta que podríamos haber sustituido “612” y “792” en los parámetros de ancho y altura.)
Ahora tenemos todo configurado. Veamos cómo crear el contenido de nuestro PDF. Primero tenemos que elegir la fuente a usar en nuestro texto. Se trata de un proceso de dos etapas: encontrar la fuente, y luego utilizarla. El manual de PDFlib es muy útil en ese tema.


Cómo mostrar texto
Esta sección cubre el uso de una función en desuso. Por favor, ayúdenos a mantener CodeSpanish actualizado dejando sus comentarios sobre este artículo.
La función que utilizaremos para buscar y preparar la fuente es pdf_findfont (). Necesita cuatro argumentos: un objeto PDF, el nombre de la fuente, la codificación de la fuente, y si la fuente debe ser embebida en el documento o no. Vamos a utilizar una de las 14 fuentes incluidas con PDFlib, lo que significa que no necesitamos hacer demasiado. No tenemos que embeber la fuente (lo que indicamos con un “0” en el último argumento), y la codificación es en el “host”. Estas 14 fuentes son (¿todavía tienes el lápiz a mano?): Courier, Courier-Bold, Courier-Oblique, Courier-BoldOblique, Helvetica, Helvetica-Bold, Helvetica-Oblique, Helvetica-BoldOblique, Times-Roman, Times-Bold, Times-Italic, Times-BoldItalic, Symbol, and ZapfDingbats. Para nuestro texto utilizaremos Times-Roman. pdf_findfont () devuelve un objeto fuente que pasaremos a la variable $font:
$font = pdf_findfont($pdf, "Times-Roman", "host", 0)
Si ocurre un error, la variable $font tendrá el valor “FALSE”. Pero nunca ocurren errores. La segunda parte es decirle al “renderer” que deseamos utilizar esa fuente, y especificar el tamaño en puntos, con:
pdf_setfont().
pdf_setfont($pdf, $font, 16);
Ahora estamos casi listos para imprimir nuestro texto. Sólo necesitamos fijar la posición en la que este aparezca con pdf_set_text_pos (). Con esta función especificamos las coordenadas X Y en puntos, contando desde la esquina inferior izquierda de la página, que es (0.0). Imprimamos nuestro texto cerca de la esquina superior izquierda de la página:
pdf_set_text_pos($pdf, 72, 720);
pdf_show () es usado para imprimir el texto en la posición actual. Su uso es muy simple:
pdf_show($pdf, "My First PDF Document");
Y ahora el texto. ¡Al fin! Ahora, si lo deseamos, podríamos continuar moviéndonos en la página, imprimiendo más texto en varias fuentes, dibujando imágenes, agregando más páginas, y así sucesivamente. Pero pienso que hemos cubierto bastante para un articulo de introducción. Finalicemos nuestro trabajo.

Finalizando

Cerramos la página con la función pdf_end_page():
pdf_end_page($pdf);
y luego cerramos el objecto:
pdf_end_document($pdf);
El documento PDF que hemos creado ahora es puesto cuidadosamente en el buffer de PHP. Para mostrarlo o guardarlo, necesitamos traerlo de allí y hacer algo con él. La función pdf_get_buffer () obtiene el contenido del buffer y lo pone en una nueva variable.
$document = pdf_get_buffer($pdf);
Ahora creemos un nuevo PDF — estaba bromeando. De hecho, no podremos utilizar las funciones para PDFs hasta que no nos libremos del objeto que acabamos de recuperar del buffer. Esto es una medida de seguridad del sistema. Debemos enviar el PDF al explorador del usuario, guardarlo como archivo en el servidor, o borrarlo de la memoria.
Para mostrarlo, primero debemos enviar la información de cabecera de HTTP, para decirle al explorador qué está recibiendo. Esto se hace con la función header(). Necesitamos enviar tres headers: Content-Type, Content-Length, y  Content-Disposition.
Primero calculemos el tamaño del PDF, y démosle un nombre de archivo:
$length = strlen($document);
$filename = "myfirstpdf.pdf";
Luego escribimos las cabeceras:
header("Content-Type:application/pdf");
header("Content-Length:" . $length);
header("Content-Disposition:inline; filename=" . $filename);
Ahora estamos listos para enviar el documento al explorador, con un simple echo():
echo($document);
Todo listo. Finalmente, como último paso, purgamos la memoria para prepararnos para nuestra próxima aventura:
unset($document);
pdf_delete($pdf);
A continuación todo el código en un solo lugar:
<?php

  $pdf = pdf_new();

  pdf_begin_document($pdf);
  pdf_set_info($pdf, "Author", "Paul Adams");
  pdf_begin_page($pdf, (72 * 8.5), (72 * 11));

  $font = pdf_findfont($pdf, "Times-Roman", "host", 0)
  pdf_setfont($pdf, $font, 16);
  pdf_set_text_pos($pdf, 72, 720);

  pdf_show($pdf, "My First PDF Document");
  pdf_end_page($pdf);
  pdf_end_document($pdf);

  $document = pdf_get_buffer($pdf);
  $length = strlen($document);
  $filename = "myfirstpdf.pdf";

  header("Content-Type:application/pdf");
  header("Content-Length:" . $length);
  header("Content-Disposition:inline; filename=" . $filename);

  echo($document);

  unset($document);
  pdf_delete($pdf);
?>
Es verdad, es mucho código para imprimir una línea de texto. Pero este fue solo un ejemplo. El formato PDF no fue inventado para exhibir un par de líneas (aunque lo hace muy bien). Puedes utilizar el código anterior para hacer escribir PDFs complejos, con logos, diagramas, color, enlaces, …, lo que sea. Hay funciones simples de PHP para todo ello. Comienza pequeño y paso a paso. El paquete PDFlib incluye un demo muy bueno, llamado pdfclock, un reloj analógico guardado como PDF dinámico. Ve hasta dónde puedes llegar con todo esto.


Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros 

Cursos y Diplomados de Tecnología Web visita www.uneweb.edu.ve  para más información


Embeber vídeos en HTML5

Cómo embeber videos usando HTML5
En estos momentos existe un gran debate público, entre las grandes empresas de software, sobre la eficacia de presentar videos usando HTML5 en vez de Flash; sin embargo, viene cobrando impulso tras el respaldo de la estandarización web.
Los sitios de video gigantes en internet, desde YouTube hasta la Wikipedia, han empezado a reproducir sus videos tanto en Flash como en sus formatos nativos. Microsoft también ha anunciado que va a apoyar la etiqueta de video de HTML5 en Internet Explorer 9; por lo que se espera, que muchos sitios abandonen Flash por el video nativo.
Así pues, si uno quiere divertirse y quiere utilizar las etiquetas de video de HTML5 en su sitio web en este momento, puede hacerlo. En este artículo vamos a darle una mirada al maravilloso mundo del video en HTML5...

Compatibilidad con exploradores de HTML5

En primer lugar, vamos a observar que navegadores trabajan con HTML5 y cuales no, en el siguiente cuadro:
HTML5 <video> Soporte por navegador:
Fx 3.0Fx 3.5IE7IE8IE9Safari 3Safari 4Chrome 3+Opera 10.5
·✓··✓✓✓✓✓
Así, podemos apreciar que sólo las versiones recientes de la mayoría de navegadores soportan la reproducción de video nativo con la etiqueta <video> de HTML5.
Dado que Firefox 3.0 e IE 7 y 8 carecen de soporte para HTML5, tendrán que idear un plan alternativo para servir videos a sus usuarios. Dependiendo de lo que se quiere hacer, se podría utilizar a QuickTime, o en su defecto, a Flash. Esa es la estrategia usada en Video For Everyone (fíjense que desde la v0.4, Video for everyone no utiliza QuickTime).

Formatos, codecs y aspectos técnicos

Lo siguiente que necesitamos conocer es lo referente a la carga y reproducción de video en el navegador. Seguramente, ya estaremos acostumbrados a pensar en formatos de video como .MP4 o .MOV, pero desafortunadamente no es tan sencillo. Los formatos de video mencionados son sólo contenedores, hay que pensar en ellos como si fueran archivos .ZIP; es decir, archivos que contienen otros archivos dentro.
Cada contenedor tiene, como mínimo, una pista de video y, lo más probable, una pista de audio. Cuando uno ve una película en línea, el reproductor de video (Flash es el más probable) decodifica tanto el audio como el video y envía la información a la pantalla y parlantes del PC.
¿Y esto por qué es importante? Bueno, porque el proceso de decodificación, de lo que hay dentro del archivo contenedor de video, varía. Para saber cómo decodificar una película, el reproductor (que es el navegador web en el caso de video HTML5) tiene que saber con que codec de video se ha codificado.
Cuando se trata de vídeo online hay dos codecs principales: H.264 y Theora.
Hay una gran disputa en estos momentos entre los desarrolladores web, fabricantes de navegadores y el resto de usuarios en determinar cual es el codec adecuado para la web. Creemos que un codec libre, abierto, sin restricciones de licencia ni patentes, es la mejor solución para la web. Lamentablemente, en este momento no se cumple exactamente este sueño; así que por ahora, vamos a saltarnos el argumento y ser prácticos, vamos a usar ambos codecs.
¿Por qué? Bueno, echemos un vistazo a la tabla de abajo, que muestra los codecs existentes y los navegadores que trabajan con ellos. Sólo Google Chrome puede reproducir tanto H.264 cómo Ogg Theora.
Soporte de Codec por navegador/plataforma:
FirefoxOperaChromeSafariIE 9iPhoneAndroid
Ogg Theora✓✓✓···
H.264··✓✓✓✓✓

Soporte de Codec por Navegador/Plataforma

Así pues, podríamos pensar que si HTML5 no tiene soporte en IE7 ni IE8, y vamos a tener que codificar nuestros videos 2 veces para el resto de navegadores, entonces ¿para qué dejar a flash? Bueno, la respuesta es simple: Los usuarios móviles. Si deseas que los usuarios del iPhone y Android puedan ver un video, HTML5 es la única manera de hacerlo (aunque el soporte para Flash ya llega a Android). Todos sabemos que Flash no se puede ejecutar en el iPhone ni iPad.

La etiqueta HTML5

Ahora veamos la manera efectiva de integrar nuestros videos a una página web. En primer lugar, hay que codificarlos en los dos tipos de contenedores .OGV y .MP4. Codificar videos escapa al interés de este artículo, por lo que podemos leer algo al respecto en el libro online de Pilgrim Dive Into HTML5, el que tiene un capítulo completo dedicado a entender la codificación de videos. Pero, una vez con nuestros archivos de video debidamente codificados en ambos formatos, esta es la manera correcta de etiquetarlos:
<video width="560" height="340" controls>

  <source src="path/to/myvideo.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>

<source src="path/to/myvideo.ogv" type='video/ogg; codecs="theora, vorbis"'>
</video>
Eso es todo. Lo que estamos haciendo es usar la etiqueta <video> para especificar las dimensiones de nuestro video y dentro hemos añadido dos etiquetas <source> con el enlace a cada uno de los videos.
El atributo “type” de la etiqueta <source> ayuda al navegador a entender que archivo debe cargar. Es un poco feo que tengamos que especificar el formato del contenedor, el codec del video y el codec del audio; pero hay que hacerlo.
Y así ya tenemos nuestro video embebido en la web, sin requerir ningún plugin.

Lidiando con el resto

¿Qué pasa con IE7, IE8 y versiones anteriores de casi todos los navegadores? Bueno, para esos usuarios vamos a recurrir a Flash. Para ello, usamos la etiqueta <embed> dentro de nuestra etiqueta “video”:
<video width="560" height="340" controls>

  <source src="path/to/myvideo.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>

<source src="path/to/myvideo.ogv" type='video/ogg; codecs="theora, vorbis"'>
  <object width="640" height="384" type="application/x-shockwave-flash"
data="path/to/swf/player.swf?image=placeholder.jpg&file=path/to/myvideo.mp4">
<param name="movie" value="path/to/swf/player.swf?image=placeholder.jpg&file=path/to/myvideo.mp4" />
</object>
</video>
Así pues, cualquier navegador que no entienda la etiqueta HTML5 sólo continuará su camino hasta que choque con la etiqueta <object>. Noten que el orden es MP4 antes de OGV, es importante para el soporte del iPad, Apple requiere que el mp4 sea el primer archivo de video.
Por supuesto, para que esto funcione necesitamos un contenedor del video en flash. JW Player es uno de los más populares, o podemos crearnos uno con las herramientas de Adobe.

Conclusiones

Embeber video en HTML5 no es significativamente más dificil que Flash, especialmente si venimos usando videos H.264 en nuestro flash player (lo cual hace exactamente YouTube con su versión beta de HTML5).
Si se animan a usar video HTML5, asegurense de chequear el SublimeVideo player, el cual ofrece un bonito reproductor en JavaScript con una variedad de controles y personalización.

Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros 

Cursos y Diplomados de Tecnología Web visita www.uneweb.edu.ve  para más información

lunes, 1 de febrero de 2016

Creando Un Pop-Up Sencillo



Algo que es muy utilizado y que, a pesar de haber toneladas de información y códigos en la red, se sigue preguntando y pidiendo es cómo hacer una ventana pop-up.
Creo que la mejor forma de no ahogarse en un vaso de agua tratando de adaptar algún script que encontremos por ahí y que no se ajuste exactamente a lo que queremos es aprender a hacerlo desde cero conociendo los conceptos elementales.

El método open()

El objeto window posee un método para abrir nuevas ventanas: el método open().
window.open();
Eso abrirá una nueva ventana vacía con Javascript (no cargará ningún documento en ella)
Si queremos que cargue algún documento dentro de la ventana nueva se lo indicamos pasándolo como parámetro y poniéndolo entre comillas dentro de los paréntesis:
window.open('pagina.html')
Eso abrirá una ventana nueva con el documento pagina.html cargada adentro.
El método open() acepta 3 parámetros. Se le puede pasar uno, dos, los tres o ninguno
window.open(documento, nombre de la ventana, atributos de la ventana)

documento

URI del documento a ser cargado dentro de la nueva ventana.

Nombre de la ventana

identificador para la nueva ventana. Sirve para poder hacer referencia a la ventana después de haber sido abierta en caso necesario.

Atributos de la ventana:

una serie de pares nombre/valor que permite asignarle a la nueva ventana determinadas características, tales como tamaño, posición, barras a mostrar ….
Algunos de los atributos disponibles para la mayoría de navegadores:
width
anchura de la ventana (en píxels).
valor
número entero positivo.
height
altura de la ventana (en píxels).
valor
número entero positivo.
top
posición de la ventana desde la parte superior (en píxels).
valor
número entero.
left
posición de la ventana desde la izquierda (en píxels).
valor
número entero.
toolbar
determina si la barra de herramientas del navegador es o no mostrada.
IE7 ignora la instrucción de no mostrar esta barra con el fin de que los usuarios puedan saber en qué dirección se encuentran.
valor
booleano (yes/no).
status
determina si la barra de estado (status) es o no mostrada.
valor
booleano (yes/no)
location
indica si la barra de dirección es o no mostrada.
valor
booleano (yes/no)
directories
indica si la barra personal es o no mostrada.
valor
booleano (yes/no)
scrollbars
indica si la barra de scroll es o no mostrada.
valor
booleano (yes/no)
menubar
indica si la barra de menús es o no mostrada.
valor
booleano (yes/no)

Abriendo una ventana ante un evento determinado

Si queremos que una ventana sea abierta ante un evento determinado, como por ejemplo un click de ratón del usuario en un botón, podemos definirlo directamente en el manejador del evento del propio botón.

onclick="window.open('nueva.html','nuevaVentana','width=300, height=400')"
<input type="button" value="Abrir ventana"onclick="window.open('nueva.html','nuevaVentana','width=300, height=400')" />

Abriendo una ventana desde una función

Podemos crear una función que se encargue de abrir la ventana nueva y llamarla en el manejador del evento del botón.

<script type="text/javascript">
<!-- function ventanaNueva(){
window.open('nueva.html','nuevaVentana','width=300, height=400')
}
//-->
</script>

Y dentro del botón hacemos la llamada a la función en el manejador del evento
<input type="button" value="Abrir ventana" onclick=" ventanaNueva()" />
Si queremos usar la misma función para abrir la ventana más de una vez con distintos documentos cargados dentro de ella podemos agregarle una variable a la función que le pasaremos como argumento cuando la llamemos.

function ventanaNueva(documento){
window.open(documento,'nuevaVentana','width=300, height=400');
}

Y al llamar a la función desde los distintos botones le pasamos el dato como parámetro.
Botón 1
<input type="button" value="Abrir ventana" onclick="ventanaNueva('pagina1.html')" />

Botón 2
<input type="button" value="Abrir otra ventana" onclick="ventanaNueva('pagina2.html')" />

Usando la función para abrir la ventana más de una vez con distintas dimensiones

Podemos usar la misma función para que, además, cada ventana que sea abierta desde distintos botones tenga dimensiones distintas. Le enviaremos los valores que queramos pasados como argumentos a la función y haremos una concatenación para crear la cadena de atributos.

function ventanaNueva(documento,ancho,alto){
window.open(documento,'nuevaVentana','width=' + ancho + ', height=' + alto);
}

Y al llamar a la función desde los distintos botones le pasamos los datos de ancho y alto como parámetros.
Botón 1
<input type="button" value="Abrir ventana" onclick=" ventanaNueva('pagina1.html', 300, 400)" />

Botón 2
<input type="button" value="Abrir otra ventana" onclick=" ventanaNueva('pagina2.html', 420, 550)" />

Haciendo referencia a la ventana

Si por alguna razón una vez abierta nuestra ventana necesitamos hacer algo con ella desde Javascript debemos de poder referirnos a ella de algún modo. Para eso está el segundo parámetro de la función open() que define el nombre de la ventana; en el caso del ejemplo que hemos estado usando la ventana se está llamando nuevaVentana aunque podríamos haberla llamado vladimir oleporcia.
Si una vez abierta quisiéramos hacer algo con ella, como por ejemplo cerrarla usando el métodoclose() mediante otro botón nos referiríamos a ella por el nombre que le hayamos asignado al momento de crearla.
onclick="nuevaVentana.close()"

Abrir distintas ventas distintas desde la misma función

Podemos enviar otra variable más como argumento a nuestra función del ejemplo para asignar distintos nombres a cada ventana que abramos desde un botón diferente. Con eso lograremos que se abran ventanas distintas, algo que no sucede si cada vez que llamamos a la función nos crea la ventana nueva con el mismo nombre, como ha estado haciendo la función del ejemplo hasta ahora.

function ventanaNueva(documento,ancho,alto,nombreVentana){
window.open(documento, nombreVentana,'width=' + ancho + ', height=' + alto);
}
Botón 1
<input type="button" value="Abrir ventana" onclick="ventanaNueva('pagina1.html', 300, 400, 'ventana1')" />

Botón 2
<input type="button" value="Abrir otra ventana" onclick="ventanaNueva('pagina2.html', 420, 550, 'ventana2')" />


De esta forma cada botón abrirá una ventana distinta con distintos documentos cargados en cada una de ellas.

La función tal y como estaba antes abría los distintos documentos desde los diferentes botones cargando documentos diferentes pero los abría en la misma ventana, es decir, en ningún momento podrían haber dos ventanas abiertas a la vez dado que se estaban abriendo siempre con el mismo nombre. Si en el momento de llamar por segunda vez a la función la ventana aún se encontraba abierta (no se había cerrado) el segundo documento sería cargado dentro de esa ventana ya abierta.
Al asignar en cambio un nombre distinto para cada ventana sí puede haber más de una ventana abierta simultáneamente.

Usando links para abrir ventanas.

Es importante que toda la información sea accesible y se pueda acceder al recurso al que se pretende llegar y no es recomendable delegar al 100% a Javascript el acceso a un recurso. Podemos usar un link al documento que queramos mostrar dentro de nuestra ventana pop-up; de esta forma nos aseguramos de que, en el caso de estar siendo visualizada nuestra página en algún dispositivo sin soporte para Javascript, nuestro documento pueda ser llamado de forma alternativa desde este link.

La forma más simple de hacerlo usando la misma función del ejemplo es la siguiente:
<a href="pagina.html" target="ventana1" onclick="ventanaNueva ('', 300, 400, 'ventana1');"> pagina </a>





En el evento click llamamos a la función creando una ventana pop-up asignándole un nombre ventana1 y al link le hemos agregado un target hacia esa ventana. Así el link al ser activado carga el documento dentro de la ventana que abrimos desde el manejador de eventos onclick. Observar que al llamar a la función no es necesario indicar el documento que queremos que se cargue y lo dejamos como una cadena vacía '' (dos comillas simples). Como en realidad lo que estamos haciendo es desviar el destino del link a la ventana nueva no es necesario indicarle a la función Javascript que debe cargar un determinado documento pues ya se encarga el propio link de hacerlo.

Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros 

Cursos y Diplomados de Tecnología Web visita www.uneweb.edu.ve  para más información

Felicitaciones a María Yamileth Contreras por culminar 2 Diplomados

@contrerasyami

La alumna  María Yamileth Contreras culminó con éxito su Diplomado de Programación y el Diplomado de Integración Web  en nuestro Instituto Uneweb, para más información visita su proyecto: www.yamhar.com.ve y www.importadora-digital.com



Entradas populares