borrame.com - Colección particular de recortes de código y documentación para programación web

Canales RSS

Lo más fresco

  1. Enlaces sobre desarrollo web Modificado
  2. Cadena aleatoria en PHP Modificado
  3. Recortar texto Nuevo

Sugerencias del chef

Lo más visitado

  1. Canales RSS
  2. Formato condicional según el día de la semana
  3. Enlaces sobre desarrollo web
  4. Recortar texto
  5. Convertir de minutos a horas
Compartir esta página

Ver imagen

Éste es uno de mis recortes favoritos. Abre una ventana emergente para mostrar una imagen y ajusta el tamaño de la ventaña al de la imagen. Sus puntos fuertes:

/* * Abre una ventana emergente para mostrar una imagen * y ajusta el tamaño de la ventana a la imagen * * Parámetros: * * string archivo - URL de la imagen * string titulo - [opcional] Título de la foto * * Ejemplo de uso: * <a href="foto.jpg" onclick="return verImagen('foto.jpg', 'Atardecer en Cancún')">Ver imagen</a> * * @version 2005-09-18 */ function verImagen(archivo, /*opcional*/ titulo){ // Parámetros personalizables: var sitio='Mi sitio web'; var css='body{background-color: white; margin: 0;}'; var centrar_ventana=true; var ancho_inicial=125; var alto_inicial=125; this.txt2html=function(txt){ if(txt){ var s=txt; s=s.replace(/&/g, '&amp;'); s=s.replace(/"/g, '&quot;'); s=s.replace(/'/g, '&#039;'); s=s.replace(/</g, '&lt;'); s=s.replace(/>/g, '&gt;'); return s; } } sitio=this.txt2html(sitio) titulo=this.txt2html(titulo); salida='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\n'; salida+='<html><head><title>' + ((titulo)?titulo+' - ':'') + sitio + '</title>\n'; salida+='<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">\n'; salida+='<style type="text/css"><!--\n'+css+'\n--></style>\n'; salida+='<script type="text/javascript"><!--\n'; salida+='var img=new Image();\n'; salida+='img.onload=function(){\n'; salida+=' self.resizeBy(img.width-' + ancho_inicial + ', img.height-' + alto_inicial + ');\n'; // Gecko muestra barras de desplazamiento aleatoriamente (aunque no haga falta). // Solución: redimensionamos para forzar redibujado if(!document.all){ salida+=' self.resizeBy(20, 20);\n'; salida+=' self.resizeBy(-20, -20);\n'; } if(centrar_ventana){ // JavaScript no nos indica el tamaño de la ventana, conque lo aproximamos salida+=' self.moveTo((screen.availWidth-img.width-10)/2,(screen.availHeight-img.height-30)/2);\n'; } salida+=' this.onload=null;\n'; // En IE cada cuadro de un GIF animado dispara el evento salida+='}\n'; salida+='img.onerror=function(){\n'; salida+=' alert("Se ha producido un error al descargar la imagen:\\n"+ unescape(this.src));\n'; salida+=' self.close();\n'; salida+='}\n'; salida+='img.src="' + archivo.replace(/\"/, '&quot;') + '";\n'; salida+='//--></script>\n</head><body><a href="javascript:self.close()"><img style="border-width: 0px; vertical-align: bottom;" src="'; salida+=archivo.replace(/"/, '&quot;'); salida+='" alt="' + ((titulo)? titulo :'') + '" title="Clic para cerrar"></a>'; salida+='</body></html>\n'; var v=window.open('', '', 'width=' + ancho_inicial + ',height=' + alto_inicial + ',resizable=1,scrollbars=0'); v.document.write(salida); v.document.close(); return false; }

Notas

Bugs

Esta página ha sido impresa el miércoles 12 de agosto de 2026 (13:52:49 +0200) desde https://borrame.com/recortes/javascript/ver-imagen.html. La última vez que miré contenía HTML válido con CSS fresquito y si tiene flatas de ortografía ha sido sin querer.

Lorem ipsum dolor sit amet.

© 2005-2026 by Álvaro González (alvaro.es) • Burgos (España) • borrame.com