<?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>Isotipo &#187; ajax</title>
	<atom:link href="http://www.isotipo.net/categoria/ajax/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.isotipo.net</link>
	<description>Diseño, internet y estándares &#124; blog personal de Basilio Cáceres</description>
	<lastBuildDate>Tue, 26 Jul 2011 02:52:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>CSS condicionado por navegador en distintos lenguajes</title>
		<link>http://www.isotipo.net/2008/02/css-condicionado-por-navegador-en-distintos-lenguajes/</link>
		<comments>http://www.isotipo.net/2008/02/css-condicionado-por-navegador-en-distintos-lenguajes/#comments</comments>
		<pubDate>Thu, 28 Feb 2008 03:58:36 +0000</pubDate>
		<dc:creator>Basilio</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://www.isotipo.net/ajax/css-condicionado-por-navegador-en-distintos-lenguajes/</guid>
		<description><![CDATA[Una amiga me hizo esta pregunta en un mail ayer, así que esto fue lo que le conteste HTML Es una buena opción si estás trabajando sólo con documentos HTML. Aunque se dice que se pueden ocupar condiciones para todos los navegadores, la verdad es que nunca he conseguido aplicarla para otros agentes que no [...]]]></description>
			<content:encoded><![CDATA[<p>Una amiga me hizo esta pregunta en un mail ayer, así que esto fue lo que le conteste</p>
<h3>HTML</h3>
<p>Es una buena opción si estás trabajando sólo con documentos HTML. Aunque se dice que se pueden ocupar condiciones para todos los navegadores, la verdad es que nunca he conseguido aplicarla para otros agentes que no sean IE6 o IE7</p>
<pre class="brush: js; ruler: true; first-line: 10; highlight: [2, 4, 6]">&lt;!--[if IE 7]&gt;
&lt;link href="css/ie7.css" rel="stylesheet" type="text/css" /&gt;
&lt;![endif]--&gt;
&lt;!--[if IE 6]&gt;
&lt;link href="css/ie6.css" rel="stylesheet" type="text/css" /&gt;
&lt;![endif]--&gt;</pre>
<h3>JAVASCRIPT</h3>
<p>Trabajando con la variable <strong>navigator</strong> se pueden obtener datos como el <strong>agente del usuario </strong>(userAgent)<strong> </strong>o el <strong>nombre de la aplicación</strong> (appName) que estemos usando. Sin embargo, no es 100% accesible, ya que no funciona si se tiene el javascript del navegador desactivado.</p>
<pre class="brush: js; ruler: true; first-line: 10; highlight: [2, 4, 6]">&lt;script type="text/javascritp&gt;
if(navigator.userAgent.match("MSIE 6")) {
     document.write('&lt;link href="css/ie6.css" rel="stylesheet" type="text/css" /&gt;');
}
if(navigator.userAgent.match("Firefox")) {
     document.write('&lt;link href="css/firefox.css" rel="stylesheet" type="text/css" /&gt;');
}
&lt;/script&gt;</pre>
<h3>PHP</h3>
<p>Perfecta si se esta trabajando en este lenguaje porque es más segura y <strong>accesible</strong> que la opción en JS. Además de obtener similares datos que la opción en JS</p>
<pre class="brush: js; ruler: true; first-line: 10; highlight: [2, 4, 6]">&lt;?php
if(stristr($_SERVER["HTTP_USER_AGENT"],"firefox")) {
     echo '&lt;link href="css/firefox.css" rel="stylesheet" type="text/css" /&gt;';
}

if(stristr($_SERVER["HTTP_USER_AGENT"],"firefox")) {
     echo '&lt;link href="css/firefox.css" rel="stylesheet" type="text/css" /&gt;';
}
?&gt;</pre>
<div class="tweetmeme_button" style="bottom:-5em; position:absolute;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.isotipo.net%2F2008%2F02%2Fcss-condicionado-por-navegador-en-distintos-lenguajes%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.isotipo.net%2F2008%2F02%2Fcss-condicionado-por-navegador-en-distintos-lenguajes%2F&amp;source=basilio&amp;style=compact&amp;service=bit.ly&amp;service_api=R_f866c28eb1458a4dc0b8008bc396fc3f" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://www.isotipo.net/2008/02/css-condicionado-por-navegador-en-distintos-lenguajes/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Colapsable</title>
		<link>http://www.isotipo.net/2007/06/colapsable/</link>
		<comments>http://www.isotipo.net/2007/06/colapsable/#comments</comments>
		<pubDate>Wed, 13 Jun 2007 03:19:57 +0000</pubDate>
		<dc:creator>Basilio</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://www.isotipo.net/2007/06/12/colapsable/</guid>
		<description><![CDATA[Están en todos lados&#8230; son lo más cool de lo cool&#8230; hijos directos de la Web 2.0, los famosos&#8230; can can can&#8230; colapsables. Bueno, como también me considero un seudo hijo de esta corriente, voy a explicar un poco como se hacen, a través de uno de los juguetitos regalones, Prototype. Primero, comenzamos llamando esta [...]]]></description>
			<content:encoded><![CDATA[<p>Están en todos lados&#8230;  son lo más cool de lo cool&#8230;  hijos directos de la Web 2.0, los famosos&#8230; can can can&#8230; <strong>colapsables</strong>. Bueno, como también me considero un seudo hijo de esta corriente, voy a explicar un poco como se hacen, a través de uno de los juguetitos regalones, <a rel="External" class="out" href="http://www.prototypejs.org/" title="Prototype">Prototype</a>.</p>
<p>Primero, comenzamos llamando esta librería javascript en el head de nuestro sitio</p>
<pre>&lt;head&gt;
    &lt;script type="text/javascript" src="http://www.isotipo.net/wp-includes/js/scriptaculous/prototype.js"&gt;&lt;/script&gt;
&lt;/head&gt;</pre>
<p>Luego, tenemos nuestro pequeño código <acronym title="HyperText Markup Language">HTML</acronym> donde describiremos el título de la página, un div contenedor, el ancla que despliega el div oculto con un conveniente id que será recogido para ejecutar la acción, y por supuesto, el div oculto, también con su respectivo id.</p>
<pre>&lt;body&gt;
    &lt;h1&gt;Colapsable&lt;/h1&gt;
    &lt;div class="contenedor"&gt;
	&lt;a href="#" title="ejemplo" id="colapsa"&gt;Despliegalo !!&lt;/a&gt;
        &lt;div id="oculto"&gt;
            &lt;p&gt;Texto dentro del contenedor que se colapsará y se desplegará.&lt;/p&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/body&gt;</pre>
<p>Pasando a nuestro texto en javascript, tenemos que:</p>
<pre>    function ocultar(){
        if($('oculto')){
            $('oculto').hide();
            $('colapsa').href="javascript:mostrar()";
        }
    }
    function mostrar(){
        $('oculto').show();
        $('colapsa').href="javascript:ocultar()";
    }

    Event.observe(window,"load",ocultar);</pre>
<p>, donde  la funcion <strong>ocultar()</strong> define que si existe el id <strong>&#8220;oculto&#8221;</strong>, le otorga un display:none a través de la funcion <strong>hide()</strong> de prototype, al mismo tiempo que le dice al ancla con id <strong>&#8220;colapsa&#8221;</strong> que su comportamiento href sea llamar a la función <strong>mostrar()</strong>, que hemos creado nosotros. Luego, al hacer click en el ancla y ejecutarse la función mostrar, el div <strong>&#8220;oculto&#8221;</strong> se muestra a través de la funcion <strong>show()</strong>, y el ancla pasa a tener un comportamiento href que llama a la función <strong>ocultar()</strong>, que también hemos creado nosotros. Así, al volver a clickear en el ancla, se completa la recursividad del proceso.</p>
<p>Por último, cargamos nuestra funcion inicial <strong>ocultar()</strong> al final del script, a través del modo <strong>Event.observe()</strong> y .. can can can&#8230; , le tenemos un sencillo pero eficiente colapsable en Ajax.</p>
<p><a rel="External" class="out" href="http://isotipo.net/wp-content/uploads/2007/06/colapsable.html" title="colapsable.html">Ver ejemplo</a></p>
<p>Por supuesto es absolutamente editable, y si se agrega la librería para efectos <a rel="External" class="out" href="http://script.aculo.us/" title="scriptaculous">scriptaculous</a>, se pueden tener <a rel="External" class="out" href="http://wiki.script.aculo.us/scriptaculous/show/CombinationEffectsDemo" title="scriptaculous demo">muchas posibilidades</a> para nuestro elemento colapsable.</p>
<p><a rel="External" class="out" href="http://isotipo.net/wp-content/uploads/2007/06/colapsable02.html" title="colapsable02.html">Ver ejemplo</a>
<div class="tweetmeme_button" style="bottom:-5em; position:absolute;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.isotipo.net%2F2007%2F06%2Fcolapsable%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.isotipo.net%2F2007%2F06%2Fcolapsable%2F&amp;source=basilio&amp;style=compact&amp;service=bit.ly&amp;service_api=R_f866c28eb1458a4dc0b8008bc396fc3f" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://www.isotipo.net/2007/06/colapsable/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced)

Served from: www.isotipo.net @ 2012-02-06 10:27:27 -->
