<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JHMorales.es&#62;blog</title>
	<atom:link href="http://www.jhmorales.es/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jhmorales.es/blog</link>
	<description>Cuestiones sobre diseño web</description>
	<lastBuildDate>Mon, 21 Sep 2009 14:28:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Cambio de batería a un SAI o UPS</title>
		<link>http://www.jhmorales.es/blog/hardware/cambio-de-bateria-a-un-sai-o-ups/</link>
		<comments>http://www.jhmorales.es/blog/hardware/cambio-de-bateria-a-un-sai-o-ups/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 15:05:46 +0000</pubDate>
		<dc:creator>JHMorales</dc:creator>
				<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://www.jhmorales.es/blog/?p=213</guid>
		<description><![CDATA[Ya de vuelta de las vacaciones procedo al segundo cambio de batería del SAI, algo en que ahorrar que estamos en crisis. Para quienes no sepan que es esto: el SAI o sistema de alimentación ininterrumpida (UPS en inglés) es un aparato que se enchufa a la red eléctrica y a él se conectan el [...]]]></description>
			<content:encoded><![CDATA[<div class="col">
<p>Ya de vuelta de las vacaciones procedo al segundo cambio de batería del SAI, algo en que ahorrar que estamos en crisis. Para quienes no sepan que es esto: el SAI o sistema de alimentación ininterrumpida (UPS en inglés) es un aparato que se enchufa a la red eléctrica y a él se conectan el ordenador y el monitor.</p>
<div id="attachment_217" class="wp-caption aligncenter" style="width: 310px"><img src="http://www.jhmorales.es/blog/wp-content/uploads/2009/09/cerrado-300x224.jpg" alt="imagen de un SAI, la marca da igual" title="SAI unidad cerrada" width="300" height="224" class="size-medium wp-image-217" /><p class="wp-caption-text">imagen de un SAI, la marca da igual</p></div>
<p>En mi caso, y apañando los cables, he conectado el ordenador, dos monitores CRT (17 y 19 pulgadas), el router y los altavoces. Su función es &#8220;equilibrar&#8221; la corriente eléctrica que llega (por la red y por teléfono), protegiendo al equipo de picos altos de tensión y suministrando energía el tiempo suficiente para guardar todo y apagar adecuadamente el ordenador cuando se corta la corriente.</p>
<p>Además tiene conexión de entrada y salida para la línea de teléfono que también lleva su voltaje y puede ocasionar problemas. El primer ordenador que tuve en España se quemó en una tormenta en el 96, con una chispa de rayo que cayó cerca de casa en un poste de teléfonos y lo único que no había desconectado era el modem. De la torre del ordenador solo se salvó la disquetera, las demás partes internas se estropearon. Esto lo confirmé con el técnico que estaba a tope de trabajo con muchos faxes que se cargó la tormenta. Con lo delgadito que se ve el cable de teléfono y la que puede armar.</p>
<p>A lo que estábamos. Los SAI salen en varias potencias, la mas común es la de 650VA que soporta unos 360W y cuesta como 70€. Con las reformas al ordenador y lo que le he ido conectando estaba llegando a su capacidad máxima. La primera batería duró 6 años y la segunda apenas 2. No veo la necesidad de gastarme ahora este dinero o mas cuando la batería, que es lo que se gasta, solo vale unos 25€. Así que ya puestos a cambiarla otra vez busqué una de más capacidad.</p>
<p>Las baterías son de 12V (12 voltios como las de los coches), la que trae originalmente es de 7A (7 amperios). Encontré una de 12A que tiene el mismo largo y alto, pero es mas ancha, así que solo había que cortar un poco el lateral de la carcasa del SAI para que cupiera.</p>
<div id="attachment_220" class="wp-caption aligncenter" style="width: 310px"><img src="http://www.jhmorales.es/blog/wp-content/uploads/2009/09/bateria_12V7A-300x224.jpg" alt="bateria 12V7A" title="bateria 12V7A" width="300" height="224" class="size-medium wp-image-220" /><p class="wp-caption-text">bateria 12V7A</p></div>
<div id="attachment_221" class="wp-caption aligncenter" style="width: 310px"><img src="http://www.jhmorales.es/blog/wp-content/uploads/2009/09/bateria_12V12A-300x224.jpg" alt="bateria 12V12A" title="bateria 12V12A" width="300" height="224" class="size-medium wp-image-221" /><p class="wp-caption-text">bateria 12V12A</p></div>
<div id="attachment_218" class="wp-caption aligncenter" style="width: 310px"><img src="http://www.jhmorales.es/blog/wp-content/uploads/2009/09/comparacion_baterias-300x224.jpg" alt="comparación del tamaño de las baterias" title="comparación del tamaño de las baterias" width="300" height="224" class="size-medium wp-image-218" /><p class="wp-caption-text">comparación del tamaño de las baterias</p></div>
<p>El aparato es una simple caja con cuatro tornillos que se abre facilmente. En este caso la batería es un poco mas alta que la base de la caja, así que habrá que recortar también un poco de la parte de arriba.</p>
<div id="attachment_235" class="wp-caption aligncenter" style="width: 310px"><img src="http://www.jhmorales.es/blog/wp-content/uploads/2009/09/abierto2-300x224.jpg" alt="SAI abierto" title="SAI abierto" width="300" height="224" class="size-medium wp-image-235" /><p class="wp-caption-text">SAI abierto</p></div>
<div id="attachment_222" class="wp-caption aligncenter" style="width: 310px"><img src="http://www.jhmorales.es/blog/wp-content/uploads/2009/09/abierto_sin_bateria-300x224.jpg" alt="SAI abierto sin bateria" title="SAI abierto sin bateria" width="300" height="224" class="size-medium wp-image-222" /><p class="wp-caption-text">SAI abierto sin bateria</p></div>
<div id="attachment_223" class="wp-caption aligncenter" style="width: 310px"><img src="http://www.jhmorales.es/blog/wp-content/uploads/2009/09/abierto_cortado_sin_bateria-300x224.jpg" alt="SAI abierto cortado sin bateria" title="SAI abierto cortado sin bateria" width="300" height="224" class="size-medium wp-image-223" /><p class="wp-caption-text">SAI abierto cortado sin bateria</p></div>
<p>Ahora ya solo hay que poner la nueva batería en su sitio, conectarla  y cerrar la caja esta vez con 3 tornillos ya que hemos perdido el sitio de uno de ellos. Se vuelve a conectar todo por detrás como se debe y a trabajar.</p>
<div id="attachment_227" class="wp-caption aligncenter" style="width: 310px"><img src="http://www.jhmorales.es/blog/wp-content/uploads/2009/09/abierto_con_bateria12A-300x224.jpg" alt="SAI abierto con bateria de 12A" title="SAI abierto con bateria de 12A" width="300" height="224" class="size-medium wp-image-227" /><p class="wp-caption-text">SAI abierto con bateria de 12A</p></div>
<div id="attachment_231" class="wp-caption aligncenter" style="width: 310px"><img src="http://www.jhmorales.es/blog/wp-content/uploads/2009/09/cerrado_con_bateria12A-300x224.jpg" alt="SAI cerrado con bateria 12A" title="SAI cerrado con bateria 12A" width="300" height="224" class="size-medium wp-image-231" /><p class="wp-caption-text">SAI cerrado con bateria 12A</p></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.jhmorales.es/blog/hardware/cambio-de-bateria-a-un-sai-o-ups/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Precarga de imágenes</title>
		<link>http://www.jhmorales.es/blog/diseno-web/precarga-de-imagenes/</link>
		<comments>http://www.jhmorales.es/blog/diseno-web/precarga-de-imagenes/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 16:38:50 +0000</pubDate>
		<dc:creator>JHMorales</dc:creator>
				<category><![CDATA[Diseño-web]]></category>
		<category><![CDATA[Usabilidad]]></category>
		<category><![CDATA[Maquetación]]></category>

		<guid isPermaLink="false">http://www.jhmorales.es/blog/?p=202</guid>
		<description><![CDATA[En El Webmaster comentan unos pocos trucos expuestos en Sentido web, originalmente mostrados en Codeitred, acerca de como optimizar la carga de nuestro sitio web. De los allí vertidos discrepo en la implementación de uno de ellos. La precarga de imágenes creo que es mejor hacerla ocultándolas sin especificar dimensiones ya que así evitamos trabajo [...]]]></description>
			<content:encoded><![CDATA[<div class="col">
<p>En <a href="http://www.elwebmaster.com/articulos/optimizando-la-carga-de-nuestro-sitio-web">El Webmaster</a> comentan unos pocos trucos expuestos en <a href="http://sentidoweb.com/2008/07/09/5-consejos-para-reducir-la-carga-de-la-pagina-enfocado-a-imagenes.php">Sentido web</a>, originalmente mostrados en <a href="http://www.codeitred.com/2008/07/07/top-5-tips-decrease-load-time-websites-images">Codeitred</a>, acerca de como <strong>optimizar la carga de nuestro sitio web</strong>.</p>
<p>De los allí vertidos discrepo en la implementación de uno de ellos. La precarga de imágenes creo que es mejor hacerla <em>ocultándolas</em> sin especificar dimensiones ya que así <strong>evitamos trabajo extra del ordenador del cliente</strong>. Además tampoco generamos un elemento que, aunque tenga unas medidas mínimas como recomiendan de 1&#215;1, puede <em>alterar el orden</em> o incluso mostrarse como <em>pequeños puntos</em> en algunos navegadores.</p>
<p>Para usar este método pongo al final de la página <strong>index</strong> y antes del cierre del <em>body</em>:</p>
<div class="geshi no html">
<ol>
<li class="li1">
<div class="de1">&lt;img class=&quot;hideimage&quot; src=&quot;images/nombre_de_la_imagen.jpg&quot; alt=&quot;texto_alternativo&quot; tit=&quot;titulo_de_la_imagen&quot;/&gt;</div>
</li>
</ol>
</div>
<p>esto lo repito con <strong>todas las imágenes</strong> que quiero <em>precargar</em>.</p>
<p>En el CSS:</p>
<div class="geshi no css">
<ol>
<li class="li1">
<div class="de1"><span class="re1">.hideimage</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">display</span><span class="sy0">:</span> <span class="kw2">none</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>Luego en cada página cada imagen tendrá su propio ID que será referenciado en el CSS:</p>
<div class="geshi no css">
<ol>
<li class="li1">
<div class="de1"><span class="re0">#foto2</span> img <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">position</span><span class="sy0">:</span> <span class="kw2">relative</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">top</span><span class="sy0">:</span> <span class="nu0">0</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; left<span class="re2">:<span class="nu0">-5</span></span>%<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; width<span class="re2">:<span class="nu0">100</span></span>%<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>Al no haber establecido antes un <strong>tamaño</strong> basta poner el witdth en 100% para que se establezca automáticamente el height en <em>100%</em>, de esta manera se <strong>redimensiona</strong> la imágen de acuerdo al tamaño de la pantalla. Aunque también es posible darle las medidas exactas.</p>
<p>Esta técnica está aplicada en <a href="http://www.axiscentreclinic.com">www.axiscentreclinic.com</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.jhmorales.es/blog/diseno-web/precarga-de-imagenes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cambios en el servidor</title>
		<link>http://www.jhmorales.es/blog/diseno-web/cambios-en-el-servidor/</link>
		<comments>http://www.jhmorales.es/blog/diseno-web/cambios-en-el-servidor/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 14:05:11 +0000</pubDate>
		<dc:creator>JHMorales</dc:creator>
				<category><![CDATA[Diseño-web]]></category>

		<guid isPermaLink="false">http://www.jhmorales.es/blog/?p=200</guid>
		<description><![CDATA[Pronto estaré haciendo cambios en el servidor por lo que la web y el blog se pueden quedar innoperativos unas horas, espero que la transición no sea engorrosa y todo vuelva a estar como está ahora.]]></description>
			<content:encoded><![CDATA[<div>
<p>Pronto estaré haciendo cambios en el servidor por lo que la web y el blog se pueden quedar innoperativos unas horas, espero que la transición no sea engorrosa y todo vuelva a estar como está ahora.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.jhmorales.es/blog/diseno-web/cambios-en-el-servidor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comprimiendo .css y .js y almacenando en caché</title>
		<link>http://www.jhmorales.es/blog/diseno-web/comprimiendo-y-almacenando-en-cache/</link>
		<comments>http://www.jhmorales.es/blog/diseno-web/comprimiendo-y-almacenando-en-cache/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 17:05:16 +0000</pubDate>
		<dc:creator>JHMorales</dc:creator>
				<category><![CDATA[Diseño-web]]></category>
		<category><![CDATA[Usabilidad]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Maquetación]]></category>

		<guid isPermaLink="false">http://www.jhmorales.es/blog/?p=181</guid>
		<description><![CDATA[En diseño web es de gran importancia el tiempo de descarga que necesita la web que diseñemos para mostrarse completa y operativa. Algunos disponemos de banda ancha y la diferencia entre que una web cargue en 4 segundos o en 1 no es muy apreciable. Pero en conexiones lentas, que no sean de banda ancha [...]]]></description>
			<content:encoded><![CDATA[<div class="col">
<p>En diseño web es de gran importancia el <strong>tiempo de descarga</strong> que necesita la web que diseñemos para mostrarse completa y operativa. Algunos disponemos de <strong>banda ancha</strong> y la diferencia entre que una web cargue en 4 segundos o en 1 no es muy apreciable. Pero en conexiones lentas, que no sean de banda ancha o que tengan un <strong>tiempo de respuesta</strong> muy lento por alguna razón, este tiempo se puede multiplicar por 10, 20 ó hasta por 50.</p>
<p>La &#8220;inmediatez&#8221; que implica el uso de internet en el sentido de que <em>lo que busco lo quiero ya</em>, en parte porque soy yo quien lo estoy buscando activamente -no como en el caso de la televisión que estoy esperando a recibir lo que sea que vaya a salir-, conlleva que si lo que pido <strong>tarda demasiado</strong> tengo mucho de donde escoger a pocos clicks. Por esto es necesario implementar sistemas que reduzcan ese tiempo de espera, en el caso del diseño web <strong>reutilizando recursos</strong> que son comunes en nuestro sitio en sus diferenes páginas. Estos se almacenan en el <strong>caché del navegador o del servidor</strong> y podemos mejorar este almacenamiento de manera sencilla, así esos archivos solo se descargan en la primera visita.</p>
<p>Tenemos por ejemplo un sitio con sus diferentes páginas web y sus hojas de estilo. Lo mas común es que podamos usar <strong>scripts php</strong> en nuestras páginas aunque dentro de estas no haya que hacer ningún tipo de consulta a bases de datos, ni cálculos, ni gráficas, etc. Estos scripts se ejecutan en el <strong>servidor</strong> y, para el caso que nos interesa, informarán al navegador del cliente sobre el estado de los recursos que componen la página.</p>
<p>Si tenemos una <strong>hoja de estilos .css</strong> que no cambiará en mucho tiempo podemos <strong>minimizarla, comprimirla y almacenarla</strong> en caché, esto mismo se puede hacer con los archivos de <strong>javascript</strong> que usemos. Así en futuras visitas o en las diferentes páginas que componen nuestro sitio, y usan la misma .css o .js, no será necesario descargar desde el servidor estos archivos cada vez.</p>
<p>Para minimizar la css hay varios servicios gratuitos, entre ellos <a href="http://www.lotterypost.com/css-compress.aspx"><strong>Css compressor, de Lottery post</strong></a>. Tan sencillo como copiar el código de la css, pegar en Input, picar en Compress y seleccionar todo, copiar y pegar en un documento nuevo de nuestro editor de css. Damos el mismo nombre distinguiéndolo con min, por ejemplo estilo<strong>.min.css</strong> y guardamos.</p>
<p>Para minimizar los archivos de javascript seguimos los mismos pasos pero usamos el servicio de <a href="http://fmarcia.info/jsmin/test.html"><strong>JS Minifier</strong></a>. En este caso deberemos borrar el código de ejemplo que viene en Code que es donde pegamos nuestro código js. Es recomendable dejar el nivel en &#8220;conservative&#8221; para evitar errores. Guardamos igual, por ejemplo efectos<strong>.min.js</strong>.</p>
<p>Para comprimir y almacenar en caché lo hacemos con un solo script:</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span> ?php </div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">ob_start</span> <span class="br0">&#40;</span><span class="st0">&quot;ob_gzhandler&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">header</span><span class="br0">&#40;</span><span class="st0">&quot;Content-type: text/javascript; charset: UTF-8&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">header</span><span class="br0">&#40;</span><span class="st0">&quot;Cache-Control: public, max-age=31536000&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$offset</span> <span class="sy0">=</span> <span class="nu0">60</span> <span class="sy0">*</span> <span class="nu0">60</span> <span class="sy0">*</span> <span class="nu0">24</span> <span class="sy0">*</span> <span class="nu0">30</span> <span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$ExpStr</span> <span class="sy0">=</span> <span class="st0">&quot;Expires: &quot;</span> <span class="sy0">.</span> </div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">gmdate</span><span class="br0">&#40;</span><span class="st0">&quot;D, d M Y H:i:s&quot;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">time</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">+</span> <span class="re1">$offset</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&quot; GMT&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">header</span><span class="br0">&#40;</span><span class="re1">$ExpStr</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">?&gt;</span></div>
</li>
</ol>
</div>
<p>Es imprescindible que este script vaya al comienzo del archivo antes de cualquier otra cosa. El <strong>ob_start (&#8220;ob_gzhandler&#8221;);</strong> es el que se encarga de comprimir. El resto del script es el que crea la cabecera para que el archivo sea almacenado en caché, para hojas de estilo usaremos text/css. El <strong>Cache-control: public</strong> dice al navegador que será útil para cualquier página del dominio que lo solicite, <strong>max-age</strong>=31536000 establece su fecha de caducidad en un año -en segundos-. El <strong>Expires</strong> establece su próxima revisión en un mes. Ahora el archivo lo guardamos como estilo<strong>.min.css.php</strong> o efectos<strong>.min.js.php</strong> en cada caso.</p>
<p>Ahora solo hace falta llamar a nuestro archivos desde el <strong>head</strong> de la misma manera pero con los nuevos nombres. Los javascript es mejor ponerlos al final de la página, justo <em>antes del cierre de la etiqueta body</em>, así se arma la página antes de empezar a cargar el javascript, lo que da la sensación de que termina antes de descargar. Nuestras páginas ya <strong>no deberán terminar en .htm o .html</strong> sinó en <strong>.php</strong> para que el código php introducido sea ejecutado.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.jhmorales.es/blog/diseno-web/comprimiendo-y-almacenando-en-cache/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Solución simple para &#8220;Error en la escritura demorada&#8221;</title>
		<link>http://www.jhmorales.es/blog/hardware/solucion-simple-para-error-en-la-escritura-demorada/</link>
		<comments>http://www.jhmorales.es/blog/hardware/solucion-simple-para-error-en-la-escritura-demorada/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 10:49:20 +0000</pubDate>
		<dc:creator>JHMorales</dc:creator>
				<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://www.jhmorales.es/blog/?p=176</guid>
		<description><![CDATA[Vuelvo otra vez con este asunto que me dió mucha guerra. Digo &#8220;me dió&#8221; ya que por fin lo he solucionado de una forma tan sencilla que me pasé un buen rato entre reir por no llorar y maldecir el hardware-software. Lo dicho en el post anterior sobre &#8220;Error en la escritura demorada en disco [...]]]></description>
			<content:encoded><![CDATA[<div class="col">
<p>Vuelvo otra vez con este asunto que me dió mucha guerra. Digo &#8220;me dió&#8221; ya que por fin lo he solucionado de una forma tan sencilla que me pasé un buen rato entre reir por no llorar y maldecir el <strong>hardware-software</strong>. Lo dicho en el post anterior sobre <a href="http://www.jhmorales.es/blog/hardware/error-en-la-escritura-demorada%E2%80%9D-en-disco-duro-externo/">&#8220;<strong>Error en la escritura demorada en disco duro externo</strong>&#8220;</a> funciona bien en pequeños dispositivos tipo móviles, lectores de tarjetas, etc.</p>
<p>Pero en <strong>discos duros externos</strong> de gran capacidad sigue dando problemas. La solución es extermadamente sencilla, solo hay que conectar este tipo de dispositivo en una toma usb que sea directa a la placa. Estas suelen estar por detrás de la torre y es donde conectamos los dispositivos que mantenemos fijos como impresora, escaner, etc. Aunque también puede haber puertos usb en la parte frontal de la torre hay que estar seguros de que estos estén conectados a los <strong>conectores usb frontales</strong> de la placa (Front USB Connector: F_USB1, F_USB2&#8230;) sin intermediación de ningún tipo de circuito o dispositivo, solo cables.</p>
<p>El disco duro externo de gran capacidad lo reconoce el windows inmediatamente y ya no da el error. Pudiendo hacer copias de seguridad (Back-up) de <strong>particiones enteras</strong> o de todo el <strong>disco duro</strong> del ordenador. En mi caso lo he hecho por particiones llegando a hacer una de 90Gb sin ningún tipo de corte en un disco de 500Gb.</p>
<p>Pues ya veis como es una solución sencilla y que nos permite el tener resguardo de nuestros archivos de forma segura.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.jhmorales.es/blog/hardware/solucion-simple-para-error-en-la-escritura-demorada/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Retorno</title>
		<link>http://www.jhmorales.es/blog/diseno-web/retorno/</link>
		<comments>http://www.jhmorales.es/blog/diseno-web/retorno/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 10:18:49 +0000</pubDate>
		<dc:creator>JHMorales</dc:creator>
				<category><![CDATA[Diseño-web]]></category>

		<guid isPermaLink="false">http://www.jhmorales.es/blog/?p=172</guid>
		<description><![CDATA[Hola de nuevo, muchas cosas me han tenido entretenido los últimos meses y creo que ahora me podré poner al día un poco en mis asuntos del blog. Entre actualizar las webs que llevo (mejorando su diseño, tiempo de descarga, SEO, nuevas imágenes, etc.) y unos cuantos problemas con el ordenador que ya están resueltos, [...]]]></description>
			<content:encoded><![CDATA[<div class="fijo">
<p>Hola de nuevo, muchas cosas me han tenido entretenido los últimos meses y creo que ahora me podré poner al día un poco en mis asuntos del blog. Entre actualizar las webs que llevo (mejorando su diseño, tiempo de descarga, SEO, nuevas imágenes, etc.) y unos cuantos problemas con el ordenador que ya están resueltos, se me pasó el tiempo y he tenido que dejar de lado el blog justo en sus comienzos. De algunos de estos asuntos les comentaré sobre cosas que creo que pueden ser interesantes.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.jhmorales.es/blog/diseno-web/retorno/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Uso adecuado de las fuentes en la interface</title>
		<link>http://www.jhmorales.es/blog/diseno-web/uso-adecuado-de-las-fuentes-en-la-interface/</link>
		<comments>http://www.jhmorales.es/blog/diseno-web/uso-adecuado-de-las-fuentes-en-la-interface/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 17:19:22 +0000</pubDate>
		<dc:creator>JHMorales</dc:creator>
				<category><![CDATA[Diseño-web]]></category>
		<category><![CDATA[Ergonomía]]></category>
		<category><![CDATA[Accesibilidad]]></category>
		<category><![CDATA[Fuentes]]></category>

		<guid isPermaLink="false">http://www.jhmorales.es/blog/?p=154</guid>
		<description><![CDATA[Via CSSBlog he encontrado una pequeña guía sobre el uso de las fuentes en la web, la cual remite a información de webtaller. Discrepo en algunas cosas basándome en mi experiencia y en mucha información que he encontrado en internet y libros sobre diseño gráfico y web. Por un lado está el contraste, el cual [...]]]></description>
			<content:encoded><![CDATA[<div class="col">
<p>Via <a href="http://www.cssblog.es"><strong>CSSBlog</strong></a> he encontrado una pequeña <a href="http://www.cssblog.es/guia-sobre-el-uso-de-las-fuentes-en-la-web/"><em>guía sobre el uso de las fuentes en la web</em></a>, la cual remite a información de <a href="http://www.webtaller.com/">webtaller</a>.</p>
<p><strong>Discrepo</strong> en <em>algunas cosas</em> basándome en mi experiencia y en mucha información que he encontrado en internet y libros sobre diseño gráfico y web.</p>
<p>Por un lado está el <strong>contraste</strong>, el cual para mí no debe ser demasiado fuerte. Lo primero que se viene a la cabeza en cuanto al contraste es el <em>blanco y negro</em>. Este queda bien en los libros, pero en el ordenador hay que <strong>sumarles el brillo</strong> que aporta la <em>pantalla</em>. Algo que no tiene el papel a no ser que sea así y en ese caso ya es un defecto de diseño, o un error del diseñador que lo escogió.</p>
<p>Basta con elegir un <strong>ligero tono pastel</strong> del color que se quiera, ya sea <em>para el fondo o para el texto</em> en caso de fondos muy oscuros. En cuyo caso habrá que aumentar un poco el tamaño de fuente o su espesor para que el fondo no se la coma.</p>
<p>Coincido en esto con los de CSSBlog, los colores deben tener una <strong>armonía</strong>. Pero esta debe ser preferiblemente <strong>análoga o monocroma</strong>, es decir, entre colores muy parecidos o el mismo color. Acercándose uno al negro y el otro al blanco, texto y fondo o viceversa. <strong>Evitando</strong> en lo posible las <em>armonías complementarias</em> que provocan vibración tonal. Como es el caso del naranja-violeta o magenta-verde, por ejemplo.</p>
<p>El <strong>interlineado</strong> y el <strong>interletrado</strong> deben ser algo que no se debería tocar a no ser que se quiera hacer <em>algo especial</em>. Ya quien diseñó la fuente estudió esas <strong>características</strong> para hacerlas <em>adecuadas a la lectura</em>. En cuanto al <strong>largo de los renglones</strong> diversas investigaciones han dado como resultado que un largo de <strong>62-66</strong> caracteres es el mas <em>apropiado</em>.</p>
<p>Salirse de estas bases es posible pero para casos puntuales, <em>publicidad, logotipos, titulares impactantes</em>, etc., pero no es recomendable para bloques de texto. Con <em>efectos, contrastes extraños, interletrados e interlineados especiales</em>, etc. en <strong>textos largos</strong> provocamos <em>dificultad de lectura y cansancio visual</em>. Lo que deriva en abandono de la web, lo primero que debemos evitar.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.jhmorales.es/blog/diseno-web/uso-adecuado-de-las-fuentes-en-la-interface/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>fontReSizer.js nuevo plugin de jQuery</title>
		<link>http://www.jhmorales.es/blog/diseno-web/fontresizerjs-nuevo-plugin-de-jquery/</link>
		<comments>http://www.jhmorales.es/blog/diseno-web/fontresizerjs-nuevo-plugin-de-jquery/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 12:39:16 +0000</pubDate>
		<dc:creator>JHMorales</dc:creator>
				<category><![CDATA[Diseño-web]]></category>
		<category><![CDATA[Ergonomía]]></category>
		<category><![CDATA[Accesibilidad]]></category>

		<guid isPermaLink="false">http://www.jhmorales.es/blog/?p=119</guid>
		<description><![CDATA[He trabajado varios días poniendo a punto un plugin para jQuery que me facilite las cosas en cuanto a incrementar la accesibilidad de las web. Así que pongo a disposición de todos un archivo javascript que crea un recuadro dinámicamente con -a a a+ para cambiar el tamaño de fuente en pantalla. En la primera [...]]]></description>
			<content:encoded><![CDATA[<div class="col">
<p>He trabajado varios días poniendo a punto un plugin para jQuery que me facilite las cosas en cuanto a <strong>incrementar la accesibilidad</strong> de las web. Así que pongo a disposición de todos un archivo javascript que <em>crea un recuadro dinámicamente</em> con <strong>-a a a+</strong> para cambiar el <em>tamaño de fuente en pantalla</em>. En la <strong>primera visita</strong> calcula el tamaño de fuente <em>inicial</em> de acuerdo a la resolución para presentar el texto en la <strong>misma proporción en relación al tamaño de pantalla</strong>. Así en resoluciones mayores la fuente se muestra adecuadamente.</p>
<p>Una de las cosas que me preocupan cuando diseñas una web es que no sabes en que resolución de pantalla la van a ver. Al final unos terminan con un tamaño de letra grandísimo y otros, por el contrario, diminuto. <strong>Con este plugin estableces un tamaño de letra proporcional a la pantalla</strong>, un tamaño <em>mínimo</em> y uno <em>máximo</em>, y puedes <strong>cambiar el diseño</strong> del contenedor de las -a a a+ y de estos enlaces.</p>
<p>Como esto se crea dinámicamente no se muestra a aquellos que no tienen javascript activado. Basado en el font-resize de <a title="text-resizing-with-jquery de shopdev" href="http://www.shopdev.co.uk/blog/text-resizing-with-jquery">text-resizing-with-jquery</a>, funciona con jQuery (yo lo he probado con la 1.2.6 pero creo que funcionará con anteriores) y con el plugin de cookies <a title="Cookie" href="http://plugins.jquery.com/project/Cookie">Cookie</a> de Klaus Hartl.</p>
<p>Además almacena en una <strong>cookie</strong> el tamaño escogido para <em>mantenerlo </em>en la navegación y futuras visitas.</p>
<p>INSTALACIÓN: Antes del final del head poner estas líneas:</p>
<div>
<div class="geshi no javascript">
<ol>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>script src=<span class="st0">&quot;jquery-1.3.1.js&quot;</span> type=<span class="st0">&quot;text/javascript&quot;</span><span class="sy0">&gt;&lt;/</span>script<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>script src=<span class="st0">&quot;jquery.cookie.js&quot;</span> type=<span class="st0">&quot;text/javascript&quot;</span><span class="sy0">&gt;&lt;/</span>script<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>script src=<span class="st0">&quot;fontReSizer.js&quot;</span> type=<span class="st0">&quot;text/javascript&quot;</span><span class="sy0">&gt;&lt;/</span>script<span class="sy0">&gt;</span></div>
</li>
</ol>
</div>
</div>
<p>Podeis bajarlo desde aquí:<br />
<a href="http://www.laranda.es/js/fontReSizer.js">fontresizer</a></p>
<p>Para los que lo quereis en inglés:<br />
<a href="http://www.laranda.es/js/fontReSizer_en.js">fontresizer_en</a></p>
<p>Podeis encontrarlo también en la dirección del proyecto:<br />
<a href="http://plugins.jquery.com/project/fontReSizer">jQuery plugins fontReSizer</a></p>
<p>Aquí podeis verlo en acción:<br />
<a href="http://www.jhmorales.es">www.jhmorales.es</a><br />
<a href="http://www.axiscentreclinic.com">www.axiscentreclinic.com</a><br />
<a href="http://www.centrecapi.es">www.centrecapi.es</a><br />
<a href="http://www.laranda.es">www.laranda.es</a></p>
<p>Hala, a disfrutar. Ya me contareis que os parece y si hay que arreglar algo.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jhmorales.es/blog/diseno-web/fontresizerjs-nuevo-plugin-de-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Error en la escritura demorada” en disco duro externo</title>
		<link>http://www.jhmorales.es/blog/hardware/error-en-la-escritura-demorada%e2%80%9d-en-disco-duro-externo/</link>
		<comments>http://www.jhmorales.es/blog/hardware/error-en-la-escritura-demorada%e2%80%9d-en-disco-duro-externo/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 14:25:49 +0000</pubDate>
		<dc:creator>JHMorales</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.jhmorales.es/blog/?p=101</guid>
		<description><![CDATA[Este es un error que suele salir en muy diferentes situaciones, solo hay que hacer una búsqueda en google y la primera respuesta remite a una página de microsoft con muchas causas posibles. El caso que menciono se refiere a lo que me acaba de pasar con un disco duro externo en el que estaba [...]]]></description>
			<content:encoded><![CDATA[<div class="col">
<p>Este es un error que suele salir en muy diferentes situaciones, solo hay que hacer una búsqueda en google y la primera respuesta remite a una página de <em>microsoft</em> con muchas causas posibles. El caso que menciono se refiere a lo que me acaba de pasar con un <strong>disco duro externo</strong> en el que estaba haciendo <strong>copia de seguridad</strong> de mis archivos del ordenador.</p>
<p>No funciona ninguna de las soluciones que da la página de microsoft, entonces como se soluciona?. En mi caso la respuesta ha sido igual a la que he tenido que aplicar en otras situaciones: conectarme con el movil via <strong>bluetooth</strong> (por USB) para copiar su agenda al ordenador o descargar fotos de él, pasar las fotos de la <strong>tarjeta de memoria</strong> de la cámara digital al ordenador (con lector de tarjetas por USB), etc.</p>
<p>En resumidas cuentas, dejan de pasar datos de un dispositivo externo conectado, en este caso, por <strong>USB</strong> y por consiguiente da un <strong>error en la escritura demorada</strong>.</p>
<p>La solución ha sido no permitir que windows desconecte los dispositivos USB para ahorrar energía. En <strong>Windows XP</strong> abrir Panel de control, Sistema, pestaña Hardware, Administración de dispositivos, Controladoras de bus serie universal (USB), en cada Concentrador raíz USB picar dos veces (o abrir porpiedades con botón derecho), pestaña Administración de energía, desactivar la casilla Permitir al equipo apagar este dispositivo para ahorrar energía.</p>
<p>Por lo visto el windows no se entera que hay transferencia de datos entre estos dispositivos externos y el ordenador. Cuando ha pasado un cierto tiempo, desde la acción de seleccionar los archivos y darle a <strong>Copiar</strong> o <strong>Mover</strong>, parece no darse cuenta de que sí hay actividad, aunque no se esté picando sobre archivos o carpetas en el dispositivo externo. Y como no cree ver actividad <strong>desconecta</strong> ese <strong>puerto USB</strong> para <em>ahorrar energía</em>.</p>
<p>Esto hay que mirarlo cada cierto tiempo ya que parece que se activa de nuevo cuando hay alguna <strong>actualización</strong>. Haced la prueba, en mi caso siempre funciona y no he tenido que estar pasando herramientas que verifiquen el dispositivo, ni cambiar cables, etc.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.jhmorales.es/blog/hardware/error-en-la-escritura-demorada%e2%80%9d-en-disco-duro-externo/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Resolucion de pantalla y tamaño de fuente</title>
		<link>http://www.jhmorales.es/blog/diseno-web/resolucion-de-pantalla-y-tamano-de-fuente/</link>
		<comments>http://www.jhmorales.es/blog/diseno-web/resolucion-de-pantalla-y-tamano-de-fuente/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 13:40:39 +0000</pubDate>
		<dc:creator>JHMorales</dc:creator>
				<category><![CDATA[Diseño-web]]></category>
		<category><![CDATA[Ergonomía]]></category>
		<category><![CDATA[Fuentes]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.jhmorales.es/blog/?p=96</guid>
		<description><![CDATA[En los últimos años el ancho de la resolución de la pantalla se ha ido incremantando de 800 a 1024, a 1280, a 1440, a 1600px, y de repente ahora se hacen populares los ultraportátiles o netbooks con 800. Las webs usualmente se ven igual en todas las resoluciones, ya sea por tener un diseño [...]]]></description>
			<content:encoded><![CDATA[<div class="col">
<p>En los últimos años el <strong>ancho de la resolución de la pantalla </strong>se ha ido incremantando de <em>800 </em>a <em>1024</em>, a <em>1280</em>, a <em>1440</em>, a <em>1600px</em>, y de repente ahora se hacen populares los ultraportátiles o netbooks con <em>800</em>. Las webs usualmente se ven igual en todas las resoluciones, ya sea por tener un diseño estático o líquido, mas no así el <strong>tamaño de la fuente</strong> usada que va disminuyendo proporcionalmente a medida que aumenta la resolución y terminamos dejándonos los ojos.</p>
<p>Con esto en mente es conveniente usar un método que facilite el <strong>cambio del tamaño</strong> de fuente o texto, que sea <strong>visible </strong>en pantalla y que además también <strong>reaccione igual</strong> al efecto de cambio de tamaño que causa. En algunas de mis webs he usado un código de jQuery que encontré en <a href="http://www.shopdev.co.uk/blog/text-resizing-with-jquery/">text resizing with jquery</a>, al que le hice algunos cambios para tener las características antes mencionadas. Una de las partes que hice fue la creación de un método que adapte el tamaño de fuente a la resolución de la pantalla del nuevo visitante de la web.</p>
<p>El código fontSize.js usa la librería de javascript <a href="http://jquery.com/"><strong>jQuery</strong></a>, y el plugin de cookies <a href="http://plugins.jquery.com/project/Cookie"><strong>jquery.cookie.js</strong></a>, que debemos llamarlos en el head así:</p>
<div class="dontsplit">
<div class="geshi no html">
<ol>
<li class="li1">
<div class="de1">&lt;script src=&quot;jquery-1.2.6.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;script src=&quot;jquery.cookie.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;script src=&quot;fontSize.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</div>
</li>
</ol>
</div>
</div>
<p>Luego dentro de la página debemos poner los enlaces:</p>
<div class="dontsplit">
<div class="geshi no html">
<ol>
<li class="li1">
<div class="de1">&lt;div id=&quot;changeFont&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;p&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;a href=&quot;#&quot; class=&quot;decreaseFont&quot;&gt;-a&lt;/a&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;a href=&quot;#&quot; class=&quot;resetFont&quot;&gt;a&lt;/a&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;a href=&quot;#&quot; class=&quot;increaseFont&quot;&gt;a+&lt;/a&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;/p&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;/div&gt;</div>
</li>
</ol>
</div>
</div>
<p>En el css les damos el estilo que mejor se adapte al diseño de nuestra web. Lo he aplicado en un principio a dos de mis páginas (www.centrecapi.es y www.laranda.es). Ha sido probado con éxito en windowsXP ff3, ie7, opera9.65, safari3.1, chrome 1 y fennec; en windowsVista ie8b2; windows98 ie6, ff2 y opera9.1; macOsX 10.46 safari2; Ubuntu 8.04 ff3 y Konqueror. Las web tienen un tamaño de fuente de 62.5% en el css y a los diferentes elementos se les asigna el tamaño de fuente en ems.</p>
<p>El código lo que hace es crear una función que esté operativa al terminar de cargar la página e inmediatamente activar un <strong>botón invisible</strong> que usará el tamaño de fuente almacenado en la cookie, o el botón de tamaño inicial para <em>nuevos visitantes</em>.</p>
<p>Primero se añade un botón invisible para activarlo en usuarios que ya han visitado la web, a este no hay necesidad de <em>darle estilo</em>. Luego se encuentra el ancho de la resolución de pantalla y se calcula el tamaño de fuente base de acuerdo a él. Luego se verifica si existe una cookie del tamaño de fuente usado en visitas anteriores, si no existe se usa el tamaño antes calculado.</p>
<p>Se crean las funciones para el botón de <strong>decremento </strong>(x0.9), el de <strong>tamaño base</strong> (el calculado), el de <strong>incremento </strong>(x1.1) y el del botón invisible para usuarios antiguos al que se le da el tamaño almacenado en la cookie. Por último se comprueba si existe la cookie para activar el botón invisible o si no para activar el de tamaño base.<br />
Le he traducido los comentarios para entenderlo mejor.</p>
</div>
<div>
<div class="geshi no javascript">
<ol>
<li class="li1">
<div class="de1">$<span class="br0">&#40;</span><span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">var</span> sitefunctions = <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; textresize: <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; $<span class="br0">&#40;</span><span class="st0">&quot;#changeFont p&quot;</span><span class="br0">&#41;</span>.<span class="me1">append</span><span class="br0">&#40;</span><span class="st0">&quot;&lt;a href=&#39;#&#39; class=&#39;font&#39;&gt;&lt;/a&gt;&quot;</span><span class="br0">&#41;</span>;<span class="co1">//creamos botón de usarios antiguos</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; $<span class="br0">&#40;</span><span class="st0">&quot;.font&quot;</span><span class="br0">&#41;</span>.<span class="me1">css</span><span class="br0">&#40;</span><span class="st0">&quot;visibility&quot;</span>,<span class="st0">&quot;hidden&quot;</span><span class="br0">&#41;</span>.<span class="me1">css</span><span class="br0">&#40;</span><span class="st0">&quot;font-size&quot;</span>,<span class="nu0">0</span><span class="br0">&#41;</span>;<span class="co1">//lo hacemos invisible</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// mostramos los enlaces para cambio de tamaño</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $<span class="br0">&#40;</span><span class="st0">&quot;#changeFont&quot;</span><span class="br0">&#41;</span>.<span class="me1">show</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> $cookie_name = <span class="st0">&quot;sitename-FontSize&quot;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> originalFontSize = $<span class="br0">&#40;</span><span class="st0">&quot;html&quot;</span><span class="br0">&#41;</span>.<span class="me1">css</span><span class="br0">&#40;</span><span class="st0">&quot;font-size&quot;</span><span class="br0">&#41;</span>;<span class="co1">//código original</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw2">var</span> screenWidth = screen.<span class="me1">availWidth</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span>screenWidth<span class="sy0">&amp;</span>lt;<span class="nu0">850</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; originalFontSize = screenWidth <span class="sy0">/</span> <span class="nu0">48</span>;<span class="co1">//tamaño para pantalla pequeñas</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span>screenWidth<span class="sy0">&amp;</span>lt;<span class="nu0">1100</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; originalFontSize = screenWidth <span class="sy0">/</span> <span class="nu0">60</span>;<span class="co1">//tamaño para navegadores estandar con ancho de 1024</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">else</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; originalFontSize = screenWidth <span class="sy0">/</span> <span class="nu0">72</span>;<span class="co1">//tamaño para navegadores estandar con ancho mayor de 1024</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>$.<span class="me1">browser</span>.<span class="me1">msie</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span>screenWidth<span class="sy0">&amp;</span>lt;<span class="nu0">850</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; originalFontSize = screenWidth <span class="sy0">/</span> <span class="nu0">48</span>;<span class="co1">//tamaño para ie a 1024</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">else</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; originalFontSize = screenWidth <span class="sy0">/</span> <span class="nu0">56</span>;<span class="co1">//tamaño para ie mas de 1024</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>$.<span class="me1">browser</span>.<span class="me1">safari</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; originalFontSize = screenWidth <span class="sy0">/</span> <span class="nu0">52</span>;<span class="co1">//tamaño para safari</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>$.<span class="me1">browser</span>.<span class="me1">opera</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; originalFontSize = screenWidth <span class="sy0">/</span> <span class="nu0">50</span>;<span class="co1">//tamaño para opera</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// si existe la cookie cargamos el valor guardado, si no la creamos</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>$.<span class="me1">cookie</span><span class="br0">&#40;</span>$cookie_name<span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> $getSize = $.<span class="me1">cookie</span><span class="br0">&#40;</span>$cookie_name<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $<span class="br0">&#40;</span><span class="st0">&quot;html&quot;</span><span class="br0">&#41;</span>.<span class="me1">css</span><span class="br0">&#40;</span><span class="br0">&#123;</span>fontSize: $getSize + <span class="br0">&#40;</span>$getSize.<span class="me1">indexOf</span><span class="br0">&#40;</span><span class="st0">&quot;px&quot;</span><span class="br0">&#41;</span> <span class="sy0">!</span>= <span class="nu0">-1</span> ? <span class="st0">&quot;&quot;</span> : <span class="st0">&quot;px&quot;</span><span class="br0">&#41;</span><span class="br0">&#125;</span><span class="br0">&#41;</span>; <span class="co1">// apaño para el error de doble &quot;pxpx&quot; en IE (siempre dando la nota)</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $.<span class="me1">cookie</span><span class="br0">&#40;</span>$cookie_name, originalFontSize<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// boton tamaño base</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $<span class="br0">&#40;</span><span class="st0">&quot;.resetFont&quot;</span><span class="br0">&#41;</span>.<span class="me1">bind</span><span class="br0">&#40;</span><span class="st0">&quot;click&quot;</span>, <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $<span class="br0">&#40;</span><span class="st0">&quot;html&quot;</span><span class="br0">&#41;</span>.<span class="me1">css</span><span class="br0">&#40;</span><span class="st0">&quot;font-size&quot;</span>, originalFontSize<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $.<span class="me1">cookie</span><span class="br0">&#40;</span>$cookie_name, originalFontSize<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// boton incremento</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $<span class="br0">&#40;</span><span class="st0">&quot;.increaseFont&quot;</span><span class="br0">&#41;</span>.<span class="me1">bind</span><span class="br0">&#40;</span><span class="st0">&quot;click&quot;</span>, <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> currentFontSize = $<span class="br0">&#40;</span><span class="st0">&quot;html&quot;</span><span class="br0">&#41;</span>.<span class="me1">css</span><span class="br0">&#40;</span><span class="st0">&quot;font-size&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> currentFontSizeNum = parseFloat<span class="br0">&#40;</span>currentFontSize, <span class="nu0">10</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> newFontSize = currentFontSizeNum <span class="sy0">*</span> <span class="nu0">1.1</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>newFontSize<span class="sy0">&amp;</span>lt;<span class="nu0">40</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $<span class="br0">&#40;</span><span class="st0">&quot;html&quot;</span><span class="br0">&#41;</span>.<span class="me1">css</span><span class="br0">&#40;</span><span class="st0">&quot;font-size&quot;</span>, newFontSize<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $.<span class="me1">cookie</span><span class="br0">&#40;</span>$cookie_name, newFontSize<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">false</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//boton decremento</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $<span class="br0">&#40;</span><span class="st0">&quot;.decreaseFont&quot;</span><span class="br0">&#41;</span>.<span class="me1">bind</span><span class="br0">&#40;</span><span class="st0">&quot;click&quot;</span>, <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> currentFontSize = $<span class="br0">&#40;</span><span class="st0">&quot;html&quot;</span><span class="br0">&#41;</span>.<span class="me1">css</span><span class="br0">&#40;</span><span class="st0">&quot;font-size&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> currentFontSizeNum = parseFloat<span class="br0">&#40;</span>currentFontSize, <span class="nu0">10</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> newFontSize = currentFontSizeNum <span class="sy0">*</span> <span class="nu0">0.9</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>newFontSize<span class="sy0">&gt;</span><span class="nu0">12</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $<span class="br0">&#40;</span><span class="st0">&quot;html&quot;</span><span class="br0">&#41;</span>.<span class="me1">css</span><span class="br0">&#40;</span><span class="st0">&quot;font-size&quot;</span>, newFontSize<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $.<span class="me1">cookie</span><span class="br0">&#40;</span>$cookie_name, newFontSize<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">false</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//boton usuarios antiguos</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $<span class="br0">&#40;</span><span class="st0">&quot;.font&quot;</span><span class="br0">&#41;</span>.<span class="me1">bind</span><span class="br0">&#40;</span><span class="st0">&quot;click&quot;</span>, <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> $getSize = $.<span class="me1">cookie</span><span class="br0">&#40;</span>$cookie_name<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">var</span> prevfontSize = $getSize + <span class="br0">&#40;</span>$getSize.<span class="me1">indexOf</span><span class="br0">&#40;</span><span class="st0">&quot;px&quot;</span><span class="br0">&#41;</span> <span class="sy0">!</span>= <span class="nu0">-1</span> ? <span class="st0">&quot;&quot;</span> : <span class="st0">&quot;px&quot;</span><span class="br0">&#41;</span>;<span class="co1">// apaño para el error de doble &quot;pxpx&quot; en IE (siempre dando la nota)</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $<span class="br0">&#40;</span><span class="st0">&quot;html&quot;</span><span class="br0">&#41;</span>.<span class="me1">css</span><span class="br0">&#40;</span><span class="br0">&#123;</span>fontSize: prevfontSize<span class="br0">&#125;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $.<span class="me1">cookie</span><span class="br0">&#40;</span>$cookie_name, prevfontSize<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; $<span class="br0">&#40;</span>document<span class="br0">&#41;</span>.<span class="me1">ready</span><span class="br0">&#40;</span><span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; sitefunctions.<span class="me1">textresize</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>$.<span class="me1">cookie</span><span class="br0">&#40;</span><span class="st0">&quot;sitename-FontSize&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $<span class="br0">&#40;</span><span class="st0">&quot;.font&quot;</span><span class="br0">&#41;</span>.<span class="me1">click</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<span class="co1">//usa el valor de tamaño de fuente almacenado en cookie</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">else</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $<span class="br0">&#40;</span><span class="st0">&quot;.resetFont&quot;</span><span class="br0">&#41;</span>.<span class="me1">click</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<span class="co1">//usa el tamaño calculado según ancho de resolución</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span><span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
</div>
<p>En originalFontSize = screenWidth / xx estos valores van bien generalmente, pero el tamaño se puede cambiar según la web. Puede ser que haya que hacer varias pruebas para encontrar el punto preciso.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jhmorales.es/blog/diseno-web/resolucion-de-pantalla-y-tamano-de-fuente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

