<?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>TecnoRetales &#187; JavaScript</title>
	<atom:link href="http://www.tecnoretales.com/tag/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tecnoretales.com</link>
	<description>La experiencia no se olvida</description>
	<lastBuildDate>Mon, 13 Sep 2010 21:37:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<!-- google ad injected by adsense-optimizer http://www.adsenseoptimizer.de -->
			<div  style="padding:7px; float: right; padding-right: 0; margin: 3px;"><!-- Ad number: 1 --><script type="text/javascript"><!--
    	 
    	google_ad_client = "pub-7180773421652966"; google_alternate_color = "FFFFFF";
		google_ad_width = 468; google_ad_height = 60;
		google_ad_format = "468x60_as"; google_ad_type = "text";
		google_ad_channel =""; google_color_border = "FE8B00";
		google_color_link = "FE8B00"; google_color_bg = "FFFFFF";
		google_color_text = "000000"; google_color_url = "D9D9D9";
		google_ui_features = "rc:6"; //--></script>
		<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></div>	<item>
		<title>Super Mario creado en JavaScript</title>
		<link>http://www.tecnoretales.com/programacion/super-mario-creado-en-javascript/</link>
		<comments>http://www.tecnoretales.com/programacion/super-mario-creado-en-javascript/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 17:36:28 +0000</pubDate>
		<dc:creator>Manel Pérez Mata</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.tecnoretales.com/?p=621</guid>
		<description><![CDATA[Alguien con mucho tiempo libre (probablemente sea estudiante o esté parao), se ha entretenido en montar un Super Mario programado integramente en JavaScript y lo mejor es que el código apenas pesa 14Kb.
La verdad es que no me he parado a mirar el código, sin embargo, tal currada es digna de mención. Os dejo screenshot [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>Alguien con mucho tiempo libre (probablemente sea estudiante o esté parao), se ha entretenido en montar un <strong>Super Mario programado integramente en JavaScript</strong> y lo mejor es que el código apenas pesa 14Kb.</p>
<p>La verdad es que no me he parado a mirar el código, sin embargo, tal currada es digna de mención. Os dejo screenshot del juego, y enlaces al artículo y al juego para que veais, juzgueis y en caso de estar aburridos, estudieis el código <img src='http://www.tecnoretales.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><img class="aligncenter size-full wp-image-622" title="super_mario" src="http://www.tecnoretales.com/wp-content/uploads/2009/09/super_mario.jpg" alt="super_mario" width="300" height="245" /></p>
<p>Artículo: <a title="Super Mario in JavaScript" href="http://blog.nihilogic.dk/2008/04/super-mario-in-14kb-javascript.html" target="_blank">Play Super Mario Bros in 14kB Javascript</a><br />
<a title="Super Mario" href="http://www.nihilogic.dk/labs/mario/mario_large_music.htm" target="_blank">Juega aquí</a></p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.tecnoretales.com/programacion/super-mario-creado-en-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Charts API para generar gráficas en tu web</title>
		<link>http://www.tecnoretales.com/internet/google-charts-api-para-generar-graficas-en-tu-web/</link>
		<comments>http://www.tecnoretales.com/internet/google-charts-api-para-generar-graficas-en-tu-web/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 17:27:09 +0000</pubDate>
		<dc:creator>Manel Pérez Mata</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.tecnoretales.com/?p=616</guid>
		<description><![CDATA[Si quieres montar unas estadísticas profesionales en tu web de manera rápida y sencilla (y lo que es mejor, gratis!), podemos abusar una vez más de nuestro gran amigo Google, pues a liberado una API mediante la qual podemos generar estadísticas sin recurrir a grandes conocimientos técnicos.
Para mostrar una gráfica en nuestro site, únicamente debemos [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p><img class="alignright size-full wp-image-617" title="Charts generados con Google" src="http://www.tecnoretales.com/wp-content/uploads/2009/09/image-63.jpg" alt="Charts generados con Google" width="200" height="140" />Si quieres montar unas <strong>estadísticas profesionales en tu web</strong> de manera rápida y sencilla (y lo que es mejor, gratis!), podemos abusar una vez más de nuestro gran amigo Google, pues a liberado una <a title="Google Charts API" href="http://code.google.com/intl/es-ES/apis/chart/" target="_blank">API</a> mediante la qual podemos generar estadísticas sin recurrir a grandes conocimientos técnicos.</p>
<p>Para mostrar una gráfica en nuestro site, únicamente debemos hacer una llamada a una URL (construida siguiendo unas directrices) en el src de un tag image.</p>
<p>Google pone a nuestra disposición una <strong>gran cantidad de tipos de gráficas</strong> para que se adapte perfectamente a nuestras necesidades: lineales, barras, circulares, diagr de Venn, gráficas de punto e incluso mapas.<span id="more-616"></span></p>
<p>Veámos un ejemplo sencillo.  Supongamos que queremos insertar en nuestro portal una gráfica lineal con estadísticas de visitas en el último mes. Pues únicamente necesitamos llamar a la siguiente url:</p>
<p>http://chart.apis.google.com/chart?cht=lc&amp;chxt=x,y&amp;chd=t:3,6,20,40,56,48,93&amp;chs=400&#215;200</p>
<p>Para obtener el siguiente gráfico:</p>
<p style="text-align: center;"><img class="aligncenter" src="http://chart.apis.google.com/chart?cht=lc&amp;chxt=x,y&amp;chd=t:3,6,20,40,56,48,93&amp;chs=400x200" alt="" /></p>
<p>Donde los parámetros pasados son:</p>
<ul>
<li><strong>cht:</strong> Tipo de gráfico a utilizar.</li>
<li><strong>chxt:</strong> Indicamos que muestre los ejex x e y.</li>
<li><strong>chd:</strong> Le pasamos los valores que queremos que muestre.</li>
<li><strong>chs:</strong> Indicamos el tamaño de la imágen a mostrar.</li>
</ul>
<p>A partir de aquí, podemos ir complicando la cosa, añadiendo colores, líneas múltiples, pasándole los datos mediante JavaScript&#8230; y un sinfin de cosas más.</p>
<p>Para más referencias, ya sabeis, visitad la <a title="API de Google Charts" href="http://code.google.com/intl/es-ES/apis/chart/" target="_blank">API de Google Charts</a>, pero antes de cerrar el post, os dejo una gráfica de lo que podrían ser las zonas con mayor concentración de polen de flores de loto:</p>
<p style="text-align: center;"><img src="http://chart.apis.google.com/chart?cht=t&amp;chs=440x220&amp;chd=s:iMhHfD9BBDHBBBEGDECBCBICACEECBKDJkCJCFCDABCCBABBIBDcACKBCADCBEBBBAEABAFAAAABCAABBDCAEAAAAAFBAAAAAABAGBBAABAAAACBABACAAAABAAACAAABAAABAEGABAAAAAAADCAAABAAAABAAAAAAAAAAAAABAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAvAAAAAA&amp;chco=ffffff,FFEBD7,FF6600&amp;chld=CNINUSIDBRPKRUBDJPNGMXDEVNPHEGIRTRETTHGBFRITCDUAKRMMCOZAESPLARTZDZCAKESDMAPEUZVEKPNPIQAFROTWMYUGSAGHMZAULKYEKZSYMGNLCLCMCIAOECBFZWGTMLCUKHMWNEYUGRCZBEBYSOHUPTTNSNZMSEDOBOHTBGATAZRWTDGNCHHKBIHNSVILTJBJLYPYLASKDKFIJONIGESLPGKGTGNOHRTMMDCRBAPRNZERIELTCFSGAMALUYLBLRPSCGPAMRMNJMOMAELVLSBTMKSIKWNABWEEGMTTGAGWMUSZTPGYFJCYREDJBHQAKMMOGPGQSBLUCVSRMQMTBNBSEHMVISBBBZPFANNCVUGFWSGULCYTSTFMVCAWTOGDVIKIADMPSCDMASAGBMMHGLFOKNKYMCLISMGIVGCKPWTCWFNRTVMSAIPMSHSJCXFKNUNFTKVACCPNAQBVIOGSHMTFUM&amp;chtm=world&amp;chf=bg,s,EAF7FE" alt="" /></p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.tecnoretales.com/internet/google-charts-api-para-generar-graficas-en-tu-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Serializar array con JavaScript</title>
		<link>http://www.tecnoretales.com/programacion/serializar-array-con-javascript/</link>
		<comments>http://www.tecnoretales.com/programacion/serializar-array-con-javascript/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 08:21:12 +0000</pubDate>
		<dc:creator>Manel Pérez Mata</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.tecnoretales.com/?p=522</guid>
		<description><![CDATA[Ayer os comentaba como pasar arrays por POST con PHP mediante los métodos serialize y unserialize y dejaba un poco al aire como hacerlo desde JavaScript.
Una manera bastante usual de hacerlo en JavaScript es concatenar los valores del array en un string separados por un token que luego nos permitirá volver a generar el array [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>Ayer os comentaba como <a title="Pasar array por POST con PHP" href="http://www.tecnoretales.com/programacion/pasar-array-por-post-con-php/">pasar arrays por POST con PHP</a> mediante los métodos <strong>serialize</strong> y <strong>unserialize</strong> y dejaba un poco al aire como hacerlo desde JavaScript.</p>
<p>Una manera bastante usual de hacerlo en JavaScript es concatenar los valores del array en un string separados por un token que luego nos permitirá volver a generar el array con la función <strong>split</strong> de PHP, sin embargo, nos puede ser interesante utilizar la serialización por defecto de PHP, de este modo al recoger el valor, únicamente tendremos que llamar a unserialize y volveremos a tener el array intacto.<span id="more-522"></span></p>
<p>Aquí os dejo una función que me he currado que serializa un array para poder enviar en un formulario o vía AJAX a nuestro servidor:</p>
<pre class="brush: jscript;">function serialize(arr)
{
 var res = 'a:'+arr.length+':{';
 for(i=0; i&lt;arr.length; i++)
 {
 res += 'i:'+i+';s:'+arr[i].length+':&quot;'+arr[i]+'&quot;;';
 }
 res += '}';

 return res;
}</pre>
<p>El ejemplo de ayer modificado para usar <strong>serialize</strong> desde el lado de cliente sería:</p>
<pre class="brush: php;">&lt;?php

if(isset($_POST['frutas']) &amp;&amp; $_POST['frutas']!=&quot;&quot; )
{
 // si existe lo deserializamos para poder tratarlo
 $frutas = unserialize(stripslashes($_POST['frutas']));
 var_dump($frutas);
}
?&gt;
&lt;html&gt;
 &lt;head&gt;
 &lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;
 function serialize(arr)
 {
 var res = 'a:'+arr.length+':{';
 for(i=0; i&lt;arr.length; i++)
 {
 res += 'i:'+i+';s:'+arr[i].length+':&quot;'+arr[i]+'&quot;;';
 }
 res += '}';

 this.document.forms[0].frutas.value = res;
 }
 &lt;/script&gt;
 &lt;/head&gt;
 &lt;form method=&quot;POST&quot; onSubmit=&quot;serialize(new Array('Cereza', 'Pera', 'Fresa', 'Manzana'))&quot;&gt;
 &lt;input type=&quot;hidden&quot; name=&quot;frutas&quot; value=&quot;&quot; /&gt;
 &lt;input type=&quot;submit&quot; value=&quot;Pasar&quot; /&gt;
 &lt;/form&gt;
&lt;/html&gt;</pre>
<p>Realmente, no hay mucha diferencia entre usar un método u otro, sin embargo, me parece más elegante serializarlo de este modo antes de enviar.</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.tecnoretales.com/programacion/serializar-array-con-javascript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	<!-- google ad injected by adsense-optimizer http://www.adsenseoptimizer.de -->
			<div  style="padding:7px; float: left; padding-left: 0px; margin: 3px;"><!-- Ad number: 2 --><script type="text/javascript"><!--
    	 
    	google_ad_client = "pub-7180773421652966"; google_alternate_color = "FFFFFF";
		google_ad_width = 468; google_ad_height = 60;
		google_ad_format = "468x60_as"; google_ad_type = "text";
		google_ad_channel =""; google_color_border = "FE8B00";
		google_color_link = "FE8B00"; google_color_bg = "FFFFFF";
		google_color_text = "000000"; google_color_url = "D9D9D9";
		google_ui_features = "rc:6"; //--></script>
		<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></div>	<item>
		<title>Pasar Array por POST con PHP</title>
		<link>http://www.tecnoretales.com/programacion/pasar-array-por-post-con-php/</link>
		<comments>http://www.tecnoretales.com/programacion/pasar-array-por-post-con-php/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 06:29:56 +0000</pubDate>
		<dc:creator>Manel Pérez Mata</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.tecnoretales.com/?p=518</guid>
		<description><![CDATA[Si queremos pasar un array por POST y lo hacemos tal cual, veremos que la cosa no acaba de funcionar. La manera correcta de hacerlo es serializando previamente nuestro vector y una vez enviado, deserializarlo. Para ello PHP dispone de las funciones serialize y unserialize que harán el trabajo por nosotros.
En el siguiente ejemplo, vemos [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>Si queremos pasar un array por POST y lo hacemos tal cual, veremos que la cosa no acaba de funcionar. La manera correcta de hacerlo es <strong>serializando previamente</strong> nuestro vector y una vez enviado, deserializarlo. Para ello PHP dispone de las funciones <em>serialize</em> y <em>unserialize</em> que harán el trabajo por nosotros.</p>
<p>En el siguiente ejemplo, vemos un uso sencillo de este método para enviar nuestros datos por la web:</p>
<pre class="brush: php;">&lt;?php

if(!isset($_POST['frutas']) &amp;&amp; $_POST['frutas']==&quot;&quot; ) {
  // Creamos el array frutas
  $frutas[] = &quot;Cereza&quot;;
  $frutas[] = &quot;Pera&quot;;
  $frutas[] = &quot;Fresa&quot;;
  $frutas[] = &quot;Manzana&quot;;
} else {
  // si existe lo deserializamos para poder tratarlo
  $frutas = unserialize(stripslashes($_POST['frutas']));
  var_dump($frutas);
}
?&gt;
&lt;html&gt;
&lt;form method=&quot;POST&quot;&gt;
  &lt;input type=&quot;hidden&quot; name=&quot;frutas&quot; value='&lt;?php echo serialize($frutas) ?&gt;'&gt;&lt;/input&gt;
  &lt;input type=&quot;submit&quot; value=&quot;Pasar&quot;&gt;
&lt;/form&gt;
&lt;/html&gt;&lt;/pre&gt;
El resultado de hacer un var_dump de la variable $frutas serializado sería:
&lt;pre dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color: #cc0000;&quot;&gt;a:4:{i:0;s:6:&quot;Cereza&quot;;i:1;s:4:&quot;Pera&quot;;i:2;s:5:&quot;Fresa&quot;;i:3;s:7:&quot;Manzana&quot;;}&lt;/span&gt;</pre>
<p>Si queremos, por ejemplo, enviar un array desde el lado del cliente mediante AJAX, podríamos por ejemplo, crearnos un método javascript sencillo que nos serializase un array y así luego poder desserializarlo desde PHP.</p>
<p>Mañana publicaré en un nuevo post una <a title="Serializar array con JavaScript" href="http://www.tecnoretales.com/programacion/serializar-array-con-javascript/">función serialize para JavaScript</a>, de este modo, podemos enviar desde el lado cliente un array serializado con el submit de un formulario o mediante AJAX.</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.tecnoretales.com/programacion/pasar-array-por-post-con-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Imágenes en base-64 para Internet Explorer</title>
		<link>http://www.tecnoretales.com/programacion/imagenes-en-base-64-para-internet-explorer/</link>
		<comments>http://www.tecnoretales.com/programacion/imagenes-en-base-64-para-internet-explorer/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 06:31:27 +0000</pubDate>
		<dc:creator>Manel Pérez Mata</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.tecnoretales.com/?p=161</guid>
		<description><![CDATA[Prácticamente todos los navegadores actuales, soportan imágenes codificadas en base64, sin embargo, esto no pasa con Internet Explorer (hasta su versión 7 al menos). Estareis pensando que no debería ser un problema ya que no solemos colocar las imágenes codificadas en el código html, sin embargo, podemos encontrarnos con la necesidad de tener embedida la [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>Prácticamente todos los navegadores actuales, soportan imágenes codificadas en base64, sin embargo, esto no pasa con Internet Explorer (hasta su versión 7 al menos). Estareis pensando que no debería ser un problema ya que no solemos colocar las imágenes codificadas en el código html, sin embargo, podemos encontrarnos con la necesidad de tener embedida la imágen dentro del código por motivos x.</p>
<p>Un ejemplo de <strong>uso de imágenes en base64</strong> en el código html sería:</p>
<pre>&lt;img src="data:image/gif;base64,R0lGODlhNQAkAKIAAHJycvwHBwAAqwCjC+3PDv///wAAAAAAACwAAAAANQAkAAAItAAHCBxIsODAAggTKlyYMIDDhxAjOjRIsSDDiwslaoRYseMAjCALbBzpsWJIjCM3lqR48mJKjSsNtmT4UmJMizMV1ox4k2BOnTsf9jz4E2FQoUM/FhV5NEBSpUWbOk26lOnRp1WlYl2qlSrXplujgvUq9irZn12HZh2r9qvZtmWDhkXLtufat3bdyj2bM23euDvn9q178+5euHTxFtYbmO9Mv4sB1xT8mHBMw40RD1Z8mXHNgAA7" width="200" <span class="attribute-name">alt</span>=<span class="attribute-value">"Base64 encoded image"</span> /&gt;</pre>
<p>Nos dará como resultado la siguiente imágen:</p>
<p style="text-align: center;"><img class="aligncenter" src="data:image/gif;base64,R0lGODlhNQAkAKIAAHJycvwHBwAAqwCjC+3PDv///wAAAAAAACwAAAAANQAkAAAItAAHCBxIsODAAggTKlyYMIDDhxAjOjRIsSDDiwslaoRYseMAjCALbBzpsWJIjCM3lqR48mJKjSsNtmT4UmJMizMV1ox4k2BOnTsf9jz4E2FQoUM/FhV5NEBSpUWbOk26lOnRp1WlYl2qlSrXplujgvUq9irZn12HZh2r9qvZtmWDhkXLtufat3bdyj2bM23euDvn9q178+5euHTxFtYbmO9Mv4sB1xT8mHBMw40RD1Z8mXHNgAA7" alt="Base64 encoded image" width="200" /></p>
<p>mira el código fuente si todavía tienes dudas <img src='http://www.tecnoretales.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> <span id="more-161"></span></p>
<p>Sin embargo, si estás viendo este artículo desde un navegador Internet Explorer (un consejo desde el cariño&#8230; cambia a <a title="Mozilla Firefox" href="http://www.mozilla-europe.org/es/firefox/" target="_blank">mozilla Firefox</a>), verás algo similar a esto:</p>
<p><img class="aligncenter size-full wp-image-162" title="Error imágen base64" src="http://www.tecnoretales.com/wp-content/uploads/2009/05/mailgooglecom.gif" alt="Error imágen base64" width="632" height="429" /></p>
<p>¿Cómo podemos solucionarlo? Pues de una manera bastante sencilla, podemos <strong>pedir a PHP mediante JavaScript que nos haga la decodificación</strong> del código base64:</p>
<pre class="brush: php;">&lt;?php
	if(!empty($_SERVER[&quot;QUERY_STRING&quot;])) {
		$data = split(&quot;;&quot;, $_SERVER[&quot;QUERY_STRING&quot;]);
		$type = $data[0];
		$data = split(&quot;,&quot;, $data[1]);
		header(&quot;Content-type: &quot;.$type);
		echo base64_decode($data[1]);
		die();
	} else {
?&gt;
		&lt;html&gt;
			&lt;body&gt;
				&lt;script&gt;
				// Expression Regular para encontrar imágenes en Base64
				var BASE64_DATA = /^data:.*;base64/i;
				// Path al script php que decodifica el código
				var base64Path = &quot;prueba.php&quot;;
				function fixBase64(img) {
					// check the image source
					if (BASE64_DATA.test(img.src)) {
						// pass the data to the PHP routine
						img.src = base64Path + &quot;?&quot; + img.src.slice(5);
					}
				};

				// fix images on page load
				onload = function() {
					for (var i = 0; i &lt; document.images.length; i++) {
						fixBase64(document.images[i]);
					}
				};
				&lt;/script&gt;

				&lt;img src=&quot;data:image/gif;base64,R0lGODlhNQAkAKIAAHJycvwHBwAAqwCjC+3PDv///wAAAAAAACwAAAAANQAkAAAItAAHCBxIsODAAggTKlyYMIDDhxAjOjRIsSDDiwslaoRYseMAjCALbBzpsWJIjCM3lqR48mJKjSsNtmT4UmJMizMV1ox4k2BOnTsf9jz4E2FQoUMFhV5NEBSpUWbOk26lOnRp1WlYl2qlSrXplujgvUq9irZn12HZh2r9qvZtmWDhkXLtufat3bdyj2bM23euDvn9q178+5euHTxFtYbmO9Mv4sB1xT8mHBMw40RD1Z8mXHNgAA7&quot; alt=&quot;Base64 encoded image&quot; width=&quot;150&quot; height=&quot;150&quot;/&gt;
			&lt;/body&gt;
		&lt;/html&gt;
&lt;?php
	}
?&gt;</pre>
<p>Como podemos ver, la función JavaScript fixBase64 chequea que el source de la imágen contenga las palabras &#8220;data:xxxxx;base64&#8243;, en caso afirmativo, le envía toda la información contenida en el source a PHP. Este, utiliza la función <em><strong>base64_decode</strong></em> para traducirla y la devuelve a la página. En este momento, se verá perfectamente en cualquier navegador que tenga JavaScript habilitado.</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.tecnoretales.com/programacion/imagenes-en-base-64-para-internet-explorer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Redimensionado de iframe al tamaño de la página contenida</title>
		<link>http://www.tecnoretales.com/programacion/redimensionado-de-iframe-al-tamano-de-la-pagina-contenida/</link>
		<comments>http://www.tecnoretales.com/programacion/redimensionado-de-iframe-al-tamano-de-la-pagina-contenida/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 08:04:39 +0000</pubDate>
		<dc:creator>Manel Pérez Mata</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.tecnoretales.com/?p=172</guid>
		<description><![CDATA[Con este sencillo código JavaScript, ajustamos la altura del iframe al tamaño de la página en él conteido, de ese modo, evitaremos el molesto scroll lateral.
&#60;html&#62;
    &#60;body&#62;
        &#60;script language=&#34;JavaScript&#34;&#62;
            //Ajusta el tamaño de un [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>Con este sencillo código JavaScript, ajustamos la altura del iframe al tamaño de la página en él conteido, de ese modo, <strong>evitaremos el molesto scroll</strong> lateral.</p>
<pre class="brush: xml;">&lt;html&gt;
    &lt;body&gt;
        &lt;script language=&quot;JavaScript&quot;&gt;
            //Ajusta el tamaño de un iframe al de su contenido interior para evitar scroll
            function autofitIframe(id){
                if (!window.opera &amp;&amp; document.all &amp;&amp; document.getElementById){
                    id.style.height=id.contentWindow.document.body.scrollHeight;
                } else if(document.getElementById) {
                    id.style.height=id.contentDocument.body.scrollHeight+&quot;px&quot;;
                }
            }
        &lt;/script&gt;
        &lt;iframe id=&quot;miFrame&quot; src=&quot;http://www.tecnoretales.com/&quot; width=&quot;100%&quot; height=&quot;0&quot; frameborder=&quot;1&quot; transparency=&quot;transparency&quot; onload=&quot;autofitIframe(this);&quot;&gt;&lt;/iframe&gt;
    &lt;/body&gt;
&lt;/html&gt;</pre>
<p>Una vez cargado el iframe, llamamos a la función autofitIframe que se encargará de obtener la altura total de la página contenida y se la asignará al tamaño del iframe.<br />
Simplemente&#8230;</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.tecnoretales.com/programacion/redimensionado-de-iframe-al-tamano-de-la-pagina-contenida/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Obtener coordenadas de Google Maps con JavaScript</title>
		<link>http://www.tecnoretales.com/internet/obtener-coordenadas-de-google-maps-con-javascript/</link>
		<comments>http://www.tecnoretales.com/internet/obtener-coordenadas-de-google-maps-con-javascript/#comments</comments>
		<pubDate>Wed, 13 May 2009 18:56:33 +0000</pubDate>
		<dc:creator>Manel Pérez Mata</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Maps]]></category>

		<guid isPermaLink="false">http://www.tecnoretales.com/?p=137</guid>
		<description><![CDATA[El otro día os dejaba un script para obtener las coordenadas de Google Maps a partir de un código postal y un pais. Esto es muy útil si queremos recoger estas coordenadas de manera masiva, por ejemplo, para cargar toda esta información en nuestra base de datos de poblaciones.
Hoy os dejo un pequeño truco para [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p><img class="alignright size-full wp-image-191" title="Google Maps Latitude" src="http://www.tecnoretales.com/wp-content/uploads/2009/05/googlelatitude.jpg" alt="Google Maps Latitude" width="150" height="150" />El otro día os dejaba un script para obtener las <a title="Obtener coordenadas Google Maps" href="http://www.tecnoretales.com/programacion/obtener-coordenadas-google-maps/">coordenadas de Google Maps a partir de un código postal y un pais</a>. Esto es muy útil si queremos recoger estas coordenadas de manera masiva, por ejemplo, para cargar toda esta información en nuestra base de datos de poblaciones.</p>
<p>Hoy os dejo un pequeño truco para obtener las coordenadas en la propia web de google maps utilizando las funciones de su API, sin tener que mirar el código fuente o rebuscar por el enlace&#8230;<span id="more-137"></span></p>
<p>1) Vamos a la web de <a title="Google Maps" href="http://maps.google.com/" target="_blank">Google Maps</a> y realizamos la búsqueda del lugar deseado, por ejemplo, la <a title="Torre Eiffel en Google Maps" href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=torre+eiffel+paris&amp;sll=37.0625,-95.677068&amp;sspn=51.974572,113.994141&amp;ie=UTF8&amp;ll=48.858348,2.29434&amp;spn=0.010645,0.027831&amp;t=h&amp;z=16" target="_blank">Torre Eiffel</a>.</p>
<p>2) Pegamos este código JavaScript en la barra de direcciones del navegador y presionamos la tecla Intro.</p>
<p><code>javascript:void(prompt('',gApplication.getMap().getCenter()));</code></p>
<p>Esto nos mostrará por pantalla una ventana de dialogo con la latitud y longitud de la zona mostrada por pantalla.</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.tecnoretales.com/internet/obtener-coordenadas-de-google-maps-con-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

