<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>aurea</title>
	
	<link>http://aurea.es</link>
	<description>Desarrollador front-end, Estándares Web y Accesibilidad</description>
	<lastBuildDate>Mon, 23 Apr 2012 06:52:44 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/javiaurea" /><feedburner:info uri="javiaurea" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><image><link>http://aurea.es</link><url>http://aurea.es/wp-content/themes/aurea/images/aurea.gif</url><title>logo aurea webdesign</title></image><feedburner:emailServiceId>javiaurea</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjaviaurea" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjaviaurea" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjaviaurea" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/javiaurea" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjaviaurea" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fjaviaurea" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjaviaurea" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjaviaurea" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2Fjaviaurea" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2Fjaviaurea" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsalloy.com/?rss=http%3A%2F%2Ffeeds.feedburner.com%2Fjaviaurea" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fjaviaurea" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fjaviaurea" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.yourminis.com/subscribe.aspx?u=http%3A%2F%2Ffeeds.feedburner.com%2Fjaviaurea" src="http://www.yourminis.com/images/addtoyourminisbadge.gif">Subscribe with Yourminis.com</feedburner:feedFlare><feedburner:feedFlare href="http://download.attensa.com/app/get_attensa.html?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fjaviaurea" src="http://www.attensa.com/blogs/attensa/WindowsLiveWriter/BadgeredintoBadges_10C02/attensa_feed_button5.gif">Subscribe with Attensa for Outlook</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjaviaurea" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://hub.netomat.net/account/account.autoSubscribe.jspa?urls=http%3A%2F%2Ffeeds.feedburner.com%2Fjaviaurea" src="http://www.netomat.net/blogger/images/icon_netomat_feedbutton.gif">Subscribe with netomat Hub</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjaviaurea" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.flurry.com/pushRssFeed.do?r=fb&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Fjaviaurea" src="http://www.flurry.com/images/flurry_rss_logo2.gif">Subscribe with Flurry</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjaviaurea" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2Fjaviaurea" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><feedburner:browserFriendly>(Introduce un mensaje personal que quieras que aparezca en el encabezado de tu feed.)</feedburner:browserFriendly><item>
		<title>Diseño sensible vs. versión móvil</title>
		<link>http://aurea.es/2012/04/20/diseno-sensible-vs-version-movil/</link>
		<comments>http://aurea.es/2012/04/20/diseno-sensible-vs-version-movil/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 11:40:59 +0000</pubDate>
		<dc:creator>javiaurea</dc:creator>
				<category><![CDATA[Estándares]]></category>
		<category><![CDATA[Usabilidad]]></category>

		<guid isPermaLink="false">http://aurea.es/?p=5528</guid>
		<description><![CDATA[Vuelvo con un tema recurrente y que siempre levanta mucho debate en la comunidad Web. Surge a raíz del artículo Why We Shouldn’t Make Separate Mobile Websites sobre el Responsive Web Design &#8211; RWD (diseño web sensible). La pregunta básica es: ¿Diseñamos una Web única, o realizamos dos versiones (una de escritorio y otra móvil)? [...]]]></description>
			<content:encoded><![CDATA[<p>Vuelvo con un tema recurrente y que siempre levanta mucho debate en la comunidad Web.  Surge a raíz del artículo <a href="http://www.smashingmagazine.com/2012/04/19/why-we-shouldnt-make-separate-mobile-websites/">Why We Shouldn’t Make Separate Mobile Websites</a> sobre el <em>Responsive Web Design</em> &#8211; RWD (diseño web sensible).</p>
<p><strong>La pregunta básica</strong> es: ¿Diseñamos una Web única, o realizamos dos versiones (una de escritorio y otra móvil)?<br />
<span id="more-5528"></span><br />
Y es aquí donde tengo pensamientos encontrados:</p>
<h3>Si me dejo llevar por los estándares web</h3>
<ul>
<li>Mejor adaptación al dispositivo final. Sea el dispositivo que sea: navegadores convencionales y especiales, lectores de pantalla, lectores braille, dispositivos móviles.</li>
<li>Mejor adaptación al usuario, siendo él quien ajuste la presentación del sitio web a sus necesidades y en base a las opciones de su navegador.</li>
<li>Abstracción más clara del estilo, estructura y comportamiento.</li>
<li>Escalabilidad y mantenimiento. Pienso que sería más rápido y sencillo escalar posiciones que hacerlo manteniendo diferentes versiones del sitio Web.</li>
</ul>
<p>Si nos fijamos el artículo esta escrito por <a href="http://www.brucelawson.co.uk/">Bruce Lawson</a>, un desarrollador que trabaja en Opera. Empresa que esta a la vanguardia de los <a href="http://aurea.es/category/estandares/">estándares web</a>, y desde un principio muy volcados en HTML5, lenguaje que posibilidad este único camino para todos. En el 2009 había escrito sobre una conferencia de Chaals (evangelista de Opera) sobre las bondades de los <a href="http://aurea.es/2009/05/01/chaals-nuevos-estandares-web/">nuevos estándares web con HTML5</a>. Unos meses después la <acronym title="World Wide Web Consortium" xml:lang="en">W3C</acronym> anuncia que se <a href="http://aurea.es/2009/08/03/w3c-se-volcara-en-html5/">volcará sus esfuerzos en HTML5</a>. Si seguimos este camino me parece que al menos se intenta perseguir un Web único y estándar. </p>
<p>Ahora bien:</p>
<h3>Si me dejo llevar por la usabilidad</h3>
<ul>
<li>Se diseñara en base a las expectativas del usuario, a sus objetivos.</li>
<li>Se demanda inmediatez, que el usuario pueda hacer/leer lo que le interesa rápidamente. Para ello es necesario ofrecer una versión menos densa de contenidos.</li>
<li>Menos contenido = más velocidad a la hora de descargarlo.</li>
<li>Hay ciertos contenidos y servicios que en una versión móvil no son viables, entonces para que tenerlos? confunden al usuario!</li>
</ul>
<p>La experiencia de usuario y satisfacer sus objetivos son lo primero. Y por esto es necesaria una versión móvil. Jakob Nielsen y otros gurus de usabilidad van por este camino. </p>
<p>Por otro lado hay mucha información, muchos recursos, mucho dinero invertido en estas versiones web móvil, hay conferencias, hay patrones de diseño orientado a ello, todo centrado en la Usabilidad. Es un movimiento muy grande en esta dirección y eso da que pensar.</p>
<p>Pero&#8230;, si nos centramos en la usabilidad, el diseño del sitio Web móvil debería tener en cuenta muchos parámetros que incluso dependen de los fabricantes. Entonces, ¿hay que diseñar para varios dispositivos móviles?, ¿para cuales de ellos?</p>
<ul>
<li>Diferente hardware
<ul>
<li>Varios tamaños de pantalla.</li>
<li>Paleta de colores, contrastes, imágenes.</li>
<li>Diferentes teclados: caracteres, disposiciones, teclas-significados</li>
<li>Conexiones, memorias, etc.</li>
</ul>
</li>
<li>Diferentes métodos de interacción: <a href="http://es.wikipedia.org/wiki/Palanca_de_mando">joystick</a>, <a href="http://en.wikipedia.org/wiki/IPod">click whell</a>, <a href="http://es.wikipedia.org/wiki/Touchpad">touchpad</a>, <a href="http://es.wikipedia.org/wiki/Pantalla_t%C3%A1ctil">touchscreen</a>, reconocimiento de voz o el clásico <a href="http://es.wikipedia.org/wiki/Teclado_(inform%C3%A1tica)">teclado</a>.</li>
<li>Diferente Software: Nos podemos encontrar múltiples sistemas operativos: <a href="http://www.symbian.org">Symbian</a>, <a href="http://www.microsoft.com/windowsmobile">Windows Mobile</a>, <a href="http://www.apple.com/es/macosx/">Mac OS</a>, <a href="http://en.wikipedia.org/wiki/Google_Android">Android</a>.</li>
</ul>
<p>¿Hay que mirar estadísticas de acceso de usuarios, discriminando a la minoría?, ¿Y la usabilidad de estos pocos? <a href="http://aurea.es/category/estandares/">Los estándares Web</a> aquí reñirían con la <a href="http://aurea.es/category/usabilidad">Usabilidad</a> y mirarían hacia la <a href="http://aurea.es/category/accesibilidad">Accesibilidad</a>. </p>
<h3>Solución intermedia, las prosperas Apps</h3>
<p>Ayer vi de casualidad el programa &#8220;<a href="http://www.programalanube.es/">La nube</a>&#8221; en TV2, sobre el floreciente negocio de las apps. Por cierto que bien que vuelvan programas así.<br />
Al hilo de esto, he observado que muchos sitios web, orientados a servicios, tienen su Web única y una app especial que sustituye esa otra web en versión móvil.<br />
Bueno esto puede ser una solución intermedia a tener en cuenta. Puesto que la App esta diseñada, y destinada a satisfacer unos objetivos muy concretos, siendo dirigida a un target también muy concreto donde podemos centrarnos especialmente en la Usabilidad.</p>
<h3>Conclusión</h3>
<p>Llegados aquí, creo que ya se me ve el plumero. Yo abogaría por una Web única. Sobre el diseño sensible, todavía no me encuentro con conocimiento suficiente de ello, pero si se realmente se consigue que un único sitio Web se adapte a los distintos dispositivos, cambiando el tamaño de elementos, su posición, eliminandolos y haciendo una versión reducida mas sencilla. Entonces, &#8220;yo&#8221; iría en ese camino.</p>
<p>*Nota: Casa de herrero, cuchillo de palo. Espero zambullirne en este tema cuando tenga tiempo para afrontar el tan deseado rediseño de este sitio web (que se remonta al 2007 <img src='http://aurea.es/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  )</p>]]></content:encoded>
			<wfw:commentRss>http://aurea.es/2012/04/20/diseno-sensible-vs-version-movil/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Eliminando el style por defecto de una gallery con un add_filter en WordPress</title>
		<link>http://aurea.es/2012/03/08/eliminando-el-style-por-defecto-de-una-gallery-con-un-add_filter-en-wordpress/</link>
		<comments>http://aurea.es/2012/03/08/eliminando-el-style-por-defecto-de-una-gallery-con-un-add_filter-en-wordpress/#comments</comments>
		<pubDate>Thu, 08 Mar 2012 09:03:31 +0000</pubDate>
		<dc:creator>javiaurea</dc:creator>
				<category><![CDATA[PHP / MySQL]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[gallery]]></category>
		<category><![CDATA[media.php]]></category>
		<category><![CDATA[style]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://aurea.es/?p=5506</guid>
		<description><![CDATA[Cuando insertamos una galería de imágenes en WordPress se incrusta por defecto una serie de estilos CSS: &#60;style type='text/css'&#62; #&#123;$selector&#125; &#123; margin: auto; &#125; #&#123;$selector&#125; .gallery-item &#123; float: &#123;$float&#125;; margin-top: 10px; text-align: center; width: &#123;$itemwidth&#125;%; &#125; #&#123;$selector&#125; img &#123; border: 2px solid #cfcfcf; &#125; #&#123;$selector&#125; .gallery-caption &#123; margin-left: 0; &#125; &#60;/style&#62; Este fragmento de código [...]]]></description>
			<content:encoded><![CDATA[<p>Cuando insertamos una galería de imágenes en WordPress se incrusta por defecto una serie de estilos CSS:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">&lt;style type<span style="color: #00AA00;">=</span><span style="color: #ff0000;">'text/css'</span><span style="color: #00AA00;">&gt;</span>
    #<span style="color: #00AA00;">&#123;</span>$selector<span style="color: #00AA00;">&#125;</span> <span style="color: #00AA00;">&#123;</span>
    	<span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">auto</span><span style="color: #00AA00;">;</span>
    <span style="color: #00AA00;">&#125;</span>
    #<span style="color: #00AA00;">&#123;</span>$selector<span style="color: #00AA00;">&#125;</span> <span style="color: #6666ff;">.gallery-item</span> <span style="color: #00AA00;">&#123;</span>
    	<span style="color: #000000; font-weight: bold;">float</span><span style="color: #00AA00;">:</span> <span style="color: #00AA00;">&#123;</span>$float<span style="color: #00AA00;">&#125;</span><span style="color: #00AA00;">;</span>
    	<span style="color: #000000; font-weight: bold;">margin-top</span><span style="color: #00AA00;">:</span> <span style="color: #933;">10px</span><span style="color: #00AA00;">;</span>
    	<span style="color: #000000; font-weight: bold;">text-align</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">center</span><span style="color: #00AA00;">;</span>
    	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #00AA00;">&#123;</span>$itemwidth<span style="color: #00AA00;">&#125;</span>%<span style="color: #00AA00;">;</span>
    <span style="color: #00AA00;">&#125;</span>
    #<span style="color: #00AA00;">&#123;</span>$selector<span style="color: #00AA00;">&#125;</span> img <span style="color: #00AA00;">&#123;</span>
    	<span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#cfcfcf</span><span style="color: #00AA00;">;</span>
    <span style="color: #00AA00;">&#125;</span>
    #<span style="color: #00AA00;">&#123;</span>$selector<span style="color: #00AA00;">&#125;</span> <span style="color: #6666ff;">.gallery-caption</span> <span style="color: #00AA00;">&#123;</span>
    	<span style="color: #000000; font-weight: bold;">margin-left</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
    <span style="color: #00AA00;">&#125;</span>
&lt;/style<span style="color: #00AA00;">&gt;</span></pre></div></div>

<p>Este fragmento de código se encuentra en:<br />
<em>wp-includes/media.php (<span lang="en" xml:lang="en">Line</span> 833)</em></p>
<p>El problema es que se incrusta estilo en pleno documento, donde se ha insertado la galería. Lo cual no resulta muy limpio si atendemos a la abstracción de las 3 capas: diseño, función y contenido.</p>
<p>Si volvemos a <em>media.php</em> veremos entorno a la línea 831:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> apply_filters<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'use_default_gallery_style'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span></pre></div></div>

<p>Por tanto una opción elegante podría ser:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'use_default_gallery_style'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">FALSE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Colocando este filtro en el fichero <em>functions.php</em> del theme usado, indicamos a WordPress que no debe usar por el estilo <acronym title="Cascading Style Sheets" xml:lang="en">CSS</acronym> por defecto para las galerías, y relegamos el <acronym title="Cascading Style Sheets" xml:lang="en">CSS</acronym> necesario al fichero <em>style.css</em> donde tengamos centralizado todo el estilo del blog.</p>
<p>Usando filtros se puede cambiar altamente el comportamiento por defecto de WordPress.</p>]]></content:encoded>
			<wfw:commentRss>http://aurea.es/2012/03/08/eliminando-el-style-por-defecto-de-una-gallery-con-un-add_filter-en-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Abrir enlaces externos en nueva ventana añadiendo class external y _blank target al vuelo con jQuery</title>
		<link>http://aurea.es/2011/10/20/abrir-enlaces-externos-en-nueva-ventana-anadiendo-class-external-y-_blank-target-al-vuelo-con-jquery/</link>
		<comments>http://aurea.es/2011/10/20/abrir-enlaces-externos-en-nueva-ventana-anadiendo-class-external-y-_blank-target-al-vuelo-con-jquery/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 09:44:33 +0000</pubDate>
		<dc:creator>javiaurea</dc:creator>
				<category><![CDATA[Estándares]]></category>
		<category><![CDATA[:not]]></category>
		<category><![CDATA[blank]]></category>
		<category><![CDATA[external]]></category>
		<category><![CDATA[href]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://aurea.es/?p=5477</guid>
		<description><![CDATA[Hace tiempo (2009 y como pasa de rápido&#8230;) hablábamos de esto mismo en _blank, rel=”external” y una solución jQuery para abrir enlace en nueva ventana. Ahora traigo una revisión del snippet con esa misma funcionalidad pero un poco más completa y optimziada. Código jQuery jQuery&#40;document&#41;.ready&#40;function&#40;$&#41; &#123; &#160; //open external links in new window $&#40;'a:not([href^=&#34;http://aurea.es&#34;]):not([href^=&#34;#&#34;]):not([href^=&#34;/&#34;])'&#41;.addClass&#40;'external'&#41;; $&#40;'a[class=&#34;external&#34;]'&#41;.click&#40;function&#40;&#41;&#123; [...]]]></description>
			<content:encoded><![CDATA[<p>Hace tiempo (2009 y como pasa de rápido&#8230;) hablábamos de esto mismo en <a href="http://aurea.es/2009/06/25/_blank-relexternal-y-jquery-como-solucion-para-abrir-enlace-en-nueva-ventana/">_blank, rel=”external” y una solución jQuery para abrir enlace en nueva ventana</a>. Ahora traigo una revisión del snippet con esa misma funcionalidad pero un poco más completa y optimziada.</p>
<h3>Código jQuery</h3>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">jQuery<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 	
&nbsp;
	<span style="color: #006600; font-style: italic;">//open external links in new window</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a:not([href^=&quot;http://aurea.es&quot;]):not([href^=&quot;#&quot;]):not([href^=&quot;/&quot;])'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'external'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a[class=&quot;external&quot;]'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'target'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'_blank'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h3>Explicación</h3>
<ol>
<li>Comenzamos el mítico método <code>ready</code> de jQuery, encargado de comprobar si el <acronym title="Document Object Model" xml:lang="en">DOM</acronym> esta cargado y preparado para usarse. Tengamos en cuenta que deben estar todos los tags de enlaces ya descargados en el navegador para luego lanzar las operaciones sobre ellos.</li>
<li>A continuación hacemos 3 comprobaciones basadas en el atributo &#8220;href&#8221;. Que el link no comience con el &#8220;dominio del sitio web&#8221; (link absoluto), que no comience por &#8220;#&#8221; (link ancla), y que no comience por &#8220;/&#8221; (link relativo). A todos los enlaces que cumplen esto se les añade la clase &#8220;external&#8221;, ejemplo: <code>class="external"</code>.</li>
<li>Una vez tenemos identificados todos los enlaces externos, ya solo queda preparar un evento <code>.click()</code> que añada el atributo <code>target</code> con valor <code>blank</code> (nueva ventana/tab) cuando el evento se dispare.</li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://aurea.es/2011/10/20/abrir-enlaces-externos-en-nueva-ventana-anadiendo-class-external-y-_blank-target-al-vuelo-con-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Acerca del Optimismo digital</title>
		<link>http://aurea.es/2011/01/20/acerca-del-optimismo-digital/</link>
		<comments>http://aurea.es/2011/01/20/acerca-del-optimismo-digital/#comments</comments>
		<pubDate>Thu, 20 Jan 2011 11:43:14 +0000</pubDate>
		<dc:creator>javiaurea</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[digital]]></category>
		<category><![CDATA[emprender]]></category>
		<category><![CDATA[optimismo]]></category>
		<category><![CDATA[proyectos]]></category>

		<guid isPermaLink="false">http://aurea.es/?p=5462</guid>
		<description><![CDATA[Recientemente y vía WeblogsSL pude participar en el diseño y desarrollo de una publicación cuya temática me ha llamado la atención: optimismodigital.com En su Manifiesto podemos leer: Pensamos que el fenómeno de la digitalización de la sociedad, las industrias y el mundo no solo es inevitable sino que además es POSITIVO, DIVERTIDO, APASIONANTE y LLENO [...]]]></description>
			<content:encoded><![CDATA[<p>Recientemente y vía <a href="http://www.weblogssl.com/">WeblogsSL</a> pude participar en el diseño y desarrollo de una publicación cuya temática me ha llamado la atención: <a href="http://www.optimismodigital.com/">optimismodigital.com</a></p>
<p>En su <a href="http://www.optimismodigital.com/manifiesto/">Manifiesto</a> podemos leer:</p>
<blockquote><p>Pensamos que el fenómeno de la digitalización de la sociedad, las industrias y el mundo no solo es inevitable sino que además es POSITIVO, DIVERTIDO, APASIONANTE y LLENO DE OPORTUNIDADES.  Nuestra actitud ante esta nueva era debe de ser de CURIOSIDAD, EXPERIMENTACIÓN y de DISFRUTE.</p>
</blockquote>
<p>No podría expresarlo de mejor forma, la idea es sentirnos optimistas ante la era digital en la que ya estamos inmersos <img src='http://aurea.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Los artículos que se van publicando son acertadísimos, y para comenzar ya han posteado gente de Google, Yahoo, Banco Popular, INGDirect, FXInteractive, BuyVip, etc.<br />
Me encanta lo que estoy leyendo, os dejo únicamente 3 joyitas:</p>
<ul>
<li><a href="http://www.optimismodigital.com/general/%C2%BFfacebook-es-una-tonteria-yo-no-tengo-tiempo/">“¿Facebook? Es una tontería, yo no tengo tiempo”</a></li>
<li><a href="http://www.optimismodigital.com/general/internet-y-el-cambio-de-modelo-productivo/">Internet y el cambio de modelo productivo</a></li>
<li><a href="http://www.optimismodigital.com/general/en-internet-si-eres-capaz-de-imaginarlo-es-posible/">En internet, si eres capaz de imaginarlo: es posible.</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://aurea.es/2011/01/20/acerca-del-optimismo-digital/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>El Almacén de la Ilusión de Coca-Cola</title>
		<link>http://aurea.es/2010/12/01/el-almacen-de-la-ilusion-de-coca-cola/</link>
		<comments>http://aurea.es/2010/12/01/el-almacen-de-la-ilusion-de-coca-cola/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 16:32:35 +0000</pubDate>
		<dc:creator>javiaurea</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[coca-cola]]></category>
		<category><![CDATA[ilusión]]></category>
		<category><![CDATA[london]]></category>
		<category><![CDATA[navidad]]></category>
		<category><![CDATA[proyecto]]></category>

		<guid isPermaLink="false">http://aurea.es/?p=5415</guid>
		<description><![CDATA[Familiares, amigos, o simplemente aquellos que me seguís por el blog, quizás recordéis mi proyecto truequi.com, una plataforma de intercambio de objetos. Pues bien, por aquí creemos que la ilusión es capaz de mover el mundo. Así que para esta Navidad vamos a ponerla en marcha entre todos, porque pensamos que la ilusión no se [...]]]></description>
			<content:encoded><![CDATA[<p>Familiares, amigos, o simplemente aquellos que me seguís por el blog, quizás recordéis mi proyecto <a href="http://truequi.com/">truequi.com</a>, una plataforma de intercambio de objetos.</p>
<p>Pues bien, por aquí creemos que la ilusión es capaz de mover el mundo. Así que para esta Navidad vamos a ponerla en marcha entre todos, porque pensamos que la ilusión no se crea ni se destruye, <strong>se intercambia</strong>.</p>
<p>Y es por eso que nace en España el <a href="https://navidad.cocacola.es/">Almacén de la Ilusión</a>. Partiendo de una gran iniciativa de Coca-Cola y tomando como base truequi, junto con el trabajo de grandísimos profesionales como Paco, Pilar, Carmen, Marie-la, Sertxu (equipo digital de Coca-Cola), la gente de Genetsis (infraestructura, servidores), Correos, Chonoexpress…, y luego estaba Marcos y la gente de <a href="http://www.q-interactiva.com">Q-Interactiva</a>, <a href="http://twitter.com/#!/igayoso">Israel</a> y yo mismo que hemos dado forma y vida al sitio web. Un montón de gente persiguiendo un mismo objetivo, y la verdad es que nos hemos entendido muy bien desde el primer momento. Al final ya parecía aquello una gran familia <img src='http://aurea.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="https://navidad.cocacola.es/"><a href="http://aurea.es/wp-content/uploads/almacen-ilusion-facebook.gif"><img src="http://aurea.es/wp-content/uploads/almacen-ilusion-facebook.gif" alt="" title="almacen-ilusion-facebook" width="200" height="200" class="alignleft size-full wp-image-5466" /></a></a>¡¡En el Almacén hay sitio para todo!! Puedes aportar tus ilusiones, aquellos artículos que han formado parte de tu vida y pienses que ahora pueden hacer feliz a otra persona. A cambio de subir tus ilusiones podrás escoger otras de personas que como tú quieran compartir las suyas.<br />
Actualmente ya hay libros, películas, música, videojuegos, y otros objetos curiosos.<br />
<br style="clear: both;" /></p>
<p>Y la cosa no acaba aquí, gracias a <a href="http://bit.ly/hx03fi">un acuerdo alcanzado entre Coca-Cola y Correos España</a>, los 40.000 primeros envíos serán gratuitos. Vamos, que debido al amplio margen financiado <strong>todos podremos enviar y recibir nuestros regalos sin coste alguno</strong>.</p>
<p>Con todo esto se aprovecha la sinergia entre dos grandes empresas, como Coca-Cola y Correos, con gran capacidad para generar ilusión y hacer realidad el envío de paquetes en unas fechas marcadas por el gran incremento de actividad postal.</p>
<p>Para seros sinceros&#8230; no recuerdo una iniciativa tan bonita y valiente como esta en los 12 años que he vivido Internet. Pienso que toda España puede sentirse orgullosa de participar en ello <img src='http://aurea.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Así que toca olvidar por un momento la crisis, en el <a href="https://navidad.cocacola.es/">Almacén de la Ilusión</a> el dinero no tiene cabida, solamente la ilusión de artículos que puedas ofrecer y recibir <img src='http://aurea.es/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Bienvenidos al <a href="https://navidad.cocacola.es/">Almacén de la Ilusión</a>.</p>
<p><object type="application/x-shockwave-flash" data="http://www.youtube.com/v/zSNtFo8223E" width="425" height="355" class="embedflash"><param name="movie" value="http://www.youtube.com/v/zSNtFo8223E" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><small>(Please open the article to see the flash file or player.)</small></object></p>]]></content:encoded>
			<wfw:commentRss>http://aurea.es/2010/12/01/el-almacen-de-la-ilusion-de-coca-cola/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Adios IFRAME, hola OBJECT</title>
		<link>http://aurea.es/2010/10/14/adios-iframe-hola-object/</link>
		<comments>http://aurea.es/2010/10/14/adios-iframe-hola-object/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 12:25:24 +0000</pubDate>
		<dc:creator>javiaurea</dc:creator>
				<category><![CDATA[Estándares]]></category>
		<category><![CDATA[iframe]]></category>
		<category><![CDATA[object]]></category>

		<guid isPermaLink="false">http://aurea.es/?p=5405</guid>
		<description><![CDATA[Cuando necesitamos incluir un objeto HTML externo incrustado en una página podemos recurrir al tag IFRAME. Si el objeto que necesitamos incrustar es un SWF se suele recurrir a OBJECT y EMBED. Antes de seguir, es bueno recordar la historia de los elementos IMG, EMBED y OBJECT. OBJECT como sustituto de IFRAME Con IFRAME podemos [...]]]></description>
			<content:encoded><![CDATA[<p>Cuando necesitamos incluir un objeto <acronym title="HyperText Markup Language" xml:lang="en">HTML</acronym> externo incrustado en una página podemos recurrir al tag <a href="http://www.w3.org/TR/REC-html40/present/frames.html#h-16.5">IFRAME</a>.<br />
Si el objeto que necesitamos incrustar es un SWF se suele recurrir a <a href="http://www.w3.org/TR/REC-html40/struct/objects.html">OBJECT</a> y EMBED.</p>
<p>Antes de seguir, es bueno recordar <a href="http://aurea.es/2008/11/27/breve-historia-de-img-embed-object/">la historia de los elementos IMG, EMBED y OBJECT</a>.</p>
<h3>OBJECT como sustituto de IFRAME</h3>
<p>Con <code>IFRAME</code> podemos embeber un tipo de documento HTML. Pero si atendemos a la definición de <code>OBJECT</code> veremos que podemos embeber varios tipos de documento como: <acronym title="HyperText Markup Language" xml:lang="en">HTML</acronym>, SWF, VIDEO, IMAGEN (<a href="http://wiki.dreamhost.com/index.php/Object_Embedding">ver ejemplos</a>).<br />
Teniendo en cuenta lo anterior, IFRAME puede verse como un TAG redundante.</p>
<p>Por otro lado en la versión <acronym title="eXtensible HyperText Markup Language" xml:lang="en">XHTML</acronym> Strict, el <acronym title="Document Type Definition" xml:lang="en">DTD</acronym> no admite el tag IFRAME. Al fin y al cabo forma parte del pasado y la <acronym title="World Wide Web Consortium" xml:lang="en">W3C</acronym> siempre ha recomendado el uso de un OBJECT para incrustar los diferentes documentos, tanto si es vídeo, como imagen, como una página html.</p>
<p>Además hay que tener cuidado con IFRAME en Firefox, generado de forma dinámica podemos tener problemas (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=279048">Bug 279048</a>).</p>
<h3><acronym title="Internet Explorer" xml:lang="en">IE</acronym> como de costumbre va contracorriente</h3>
<p>Si usamos OBJECT en Internet Explorer, debemos tener en cuenta que no reconoce el atributo <code>type</code>:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;object type=&quot;text/html&quot; ...</pre></div></div>

<p>En su lugar tenemos que indicar un <a href="http://msdn.microsoft.com/en-us/library/ms533559%28VS.85%29.aspx">atributo classid</a>:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;object classid=&quot;clsid:F08DF954-8592-11D1-B16A-00C0F0283628&quot; ...</pre></div></div>

<p>De todas formas con varias pruebas que hice he comprobado que el comportamiento es irregular en las diferentes versiones de la familia Internet Explorer (6, 7, 8, 9).<br />
En cambio con IFRAME, Internet Explorer se maneja de maravilla <img src='http://aurea.es/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  todas las versiones interpretan y dan el mismo resultado.</p>
<h3>IFRAME para <acronym title="Internet Explorer" xml:lang="en">IE</acronym>, OBJECT para el resto</h3>
<p>Al final pienso que la mejor opción cross-browser es mantener el IFRAME para la familia Internet Explorer y recuperar el OBJECT para el resto de navegadores (Firefox, Opera, Safari, Chrome).</p>
<p>Para hacer la bifurcación he recurrido a los <a href="http://aurea.es/2010/05/28/comentarios-condicionales-de-internet-explorer/">comentarios condicionales de IE</a>:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;!--[if IE]&gt;
    &lt;iframe src=&quot;page.htm&quot;&gt;contenido alternativo&lt;/iframe&gt;
&lt;![endif]--&gt;
&lt;!--[if !IE]&gt; &lt;--&gt;
    &lt;object type=&quot;text/html&quot; data=&quot;page.htm&quot;&gt;contenido alternativo&lt;/object&gt;
&lt;!--&gt; &lt;![endif]--&gt;</pre></div></div>

<p>Conclusión, voy abrazando OBJECT mientras digo adiós al IFRAME a excepción de <acronym title="Internet Explorer" xml:lang="en">IE</acronym> <img src='http://aurea.es/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>]]></content:encoded>
			<wfw:commentRss>http://aurea.es/2010/10/14/adios-iframe-hola-object/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CSS adaptado a cada navegador con PHP</title>
		<link>http://aurea.es/2010/10/06/css-adaptado-a-cada-navegador-con-php/</link>
		<comments>http://aurea.es/2010/10/06/css-adaptado-a-cada-navegador-con-php/#comments</comments>
		<pubDate>Wed, 06 Oct 2010 07:35:41 +0000</pubDate>
		<dc:creator>javiaurea</dc:creator>
				<category><![CDATA[Estándares]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[safari]]></category>

		<guid isPermaLink="false">http://aurea.es/?p=5355</guid>
		<description><![CDATA[Tener diferentes hojas de estilo dependiendo del navegador me parece algo horrible .  Pero si por algún motivo es necesario, podemos emplear una forma bastante fácil y limpia mediante PHP (Ref. Andrew Martin). Para ello, (1) pondremos un CSS base que sea compatible para todos los navegadores y a continuación (2) haremos uso del array [...]]]></description>
			<content:encoded><![CDATA[<p>Tener diferentes hojas de estilo dependiendo del navegador me parece algo horrible <img src='http://aurea.es/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  .  Pero si por algún motivo es necesario, podemos emplear una forma bastante fácil y limpia mediante <a href="http://php.net">PHP</a> (Ref. <a href="http://antigravity-systems.com">Andrew Martin</a>).</p>
<p>Para ello, (1) pondremos un <acronym title="Cascading Style Sheets" xml:lang="en">CSS</acronym> base que sea compatible para todos los navegadores y a continuación (2) haremos uso del array <a href="http://www.php.net/manual/en/reserved.variables.server.php">$_SERVER</a> y del campo donde se cargan las cabeceras con información del navegador del usuario &#8220;HTTP_USER_AGENT&#8221;.</p>
<p>1. Código <acronym title="Cascading Style Sheets" xml:lang="en">CSS</acronym> base:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;link rel=&quot;stylesheet&quot; href=&quot;base.css&quot; type=&quot;text/css&quot; /&gt;</pre></div></div>

<p>2. Código PHP:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$browser</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_USER_AGENT'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>	
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/MSIE.8/i'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$browser</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;link rel=&quot;stylesheet&quot; href=&quot;msie8.css&quot; type=&quot;text/css&quot; /&gt;'</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span> 
<span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/MSIE.7/i'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$browser</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;link rel=&quot;stylesheet&quot; href=&quot;msie7.css&quot; type=&quot;text/css&quot; /&gt;'</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/MSIE.6/i'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$browser</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;link rel=&quot;stylesheet&quot; href=&quot;msie6.css&quot; type=&quot;text/css&quot; /&gt;'</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/MSIE.9/i'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$browser</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;link rel=&quot;stylesheet&quot; href=&quot;msie9.css&quot; type=&quot;text/css&quot; /&gt;'</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/Firefox.2/i'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$browser</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;link rel=&quot;stylesheet&quot; href=&quot;firefox2.css&quot; type=&quot;text/css&quot; /&gt;'</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/Firefox.3.5/i'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$browser</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;link rel=&quot;stylesheet&quot; href=&quot;firefox35.css&quot; type=&quot;text/css&quot; /&gt;'</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/Firefox.3/i'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$browser</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;link rel=&quot;stylesheet&quot; href=&quot;firefox3.css&quot; type=&quot;text/css&quot; /&gt;'</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/Chrome/i'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$browser</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;link rel=&quot;stylesheet&quot; href=&quot;chrome.css&quot; type=&quot;text/css&quot; /&gt;'</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/Safari/i'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$browser</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;link rel=&quot;stylesheet&quot; href=&quot;safari.css&quot; type=&quot;text/css&quot; /&gt;'</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/Opera/i'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$browser</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;link rel=&quot;stylesheet&quot; href=&quot;opera.css&quot; type=&quot;text/css&quot; /&gt;'</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;link rel=&quot;stylesheet&quot; href=&quot;unknown.css&quot; type=&quot;text/css&quot; /&gt;'</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span></pre></div></div>

<p>El código escribirá el link con la hoja de estilo correspondiente al navegador empleado por el usuario basándose en la comparación de cadenas.</p>
<p>Si lo que queremos es únicamente discernir la versión de <acronym title="Microsoft Internet Explorer" xml:lang="en">MSIE</acronym>, podemos también recurrir a los <a href="http://aurea.es/2010/05/28/comentarios-condicionales-de-internet-explorer/">comentarios condicionales de Internet Explorer</a>.</p>
<p>Para hacer las pruebas necesarias con los diferentes navegadores, podemos descargarlos o <a href="http://aurea.es/2009/08/06/emular-ie8ie7ie6-firefox-safari-chrome-opera/">emularlos</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://aurea.es/2010/10/06/css-adaptado-a-cada-navegador-con-php/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Consejos para Newsletter / e-mail</title>
		<link>http://aurea.es/2010/07/26/consejos-para-newsletter-e-mail/</link>
		<comments>http://aurea.es/2010/07/26/consejos-para-newsletter-e-mail/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 07:27:23 +0000</pubDate>
		<dc:creator>javiaurea</dc:creator>
				<category><![CDATA[Usabilidad]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[newsletter]]></category>

		<guid isPermaLink="false">http://aurea.es/?p=5331</guid>
		<description><![CDATA[A continuación recopilo algunos consejos beneficiosos para evitar el Spam y mejorar la Usabilidad del Newsletter, en algunos casos también aplicables a un simple e-mail enviado al usuario. Registro Resulta pesado rellenar varios campos para una mera suscripción a newsletter. Es suficiente con tener el e-mail y nombre del usuario. Para evitar e-mails falsos u [...]]]></description>
			<content:encoded><![CDATA[<p>A continuación recopilo algunos consejos beneficiosos para evitar el Spam y mejorar la Usabilidad del Newsletter, en algunos casos también aplicables a un simple e-mail enviado al usuario.<span id="more-5331"></span></p>
<h3>Registro</h3>
<ul>
<li>Resulta pesado rellenar varios campos para una mera suscripción a newsletter. Es suficiente con tener el e-mail y nombre del usuario.</li>
<li>Para evitar e-mails falsos u otros problemas de seguridad, el registro al newsletter podría ser a partir de una confirmación de correo enviado al buzón del usuario.</li>
<li>El borrar la suscripción debería ser algo fácil, un clic y bien visible en el propio newsletter enviado. De lo contrario puede que el usuario (por no buscar) acabe marcando el newsletter como spam, perjudicando a la dirección de envió.</li>
</ul>
<h3>Spam</h3>
<ul>
<li>Evitar los filtros spam no incluyendo palabras como: gratis, free, descuento, etc. Algo que puede ser difícil teniendo en cuenta el sitio web y el target al que vaya dirigido.</li>
<li>Encabezar o situar en posiciones superior la fecha del newsletter. Esto podría evitar el ser confundido con Spam.</li>
<li>Chequear los enlaces enviados en el contenido del newsletter. No pueden existir enlaces que lleven a un &#8220;not found&#8221; y menos aún enlaces que puedan llevar a sitios web penalizados por los buscadores.</li>
<li>El envió de e-mails debe ser distribuido en periodos, no debe hacerse nunca de forma masiva y simultanea.</li>
<li>Si se compran o se venden listas de e-mails lo más probable es que se acabe cayendo en una lista negra, con su consiguiente penalización como Spammer. Es complejo y lento salir de listas negras.</li>
<li>Si varios e-mails chequean como spam al newsletter se puede caer en el riesgo de que un proveedor identifique la <acronym title="Internet Protocol" xml:lang="en">IP</acronym> como Spammer.</li>
<li>Una forma de asegurarnos que el newsletter sea leído en inbox y no pase directamente a spam, es hacer que la dirección de envió figure en listas blancas (desconozco como llegar a ello).</li>
<li>Quitar URGENTEMENTE aquellos suscriptores que están eliminando, no abren, o marcan como spam el newsletter. Lo están perjudicando en cada acción.</li>
</ul>
<h3>Comunicación</h3>
<ul>
<li>Estar en contacto con los lectores. Tras el registro al newsletter no pueden pasar los primeros 10 días sin ninguna noticia.</li>
<li>Dar algún enlace hacia una web/email para contactar con el soporte.</li>
<li>Se puede enviar el newsletter desde una dirección a la que el usuario pueda responder y así obtener con ello feedback directo del lector. Incluso invitarles a realizar ese feedback.</li>
<li>Usar un lenguaje que tenga que ver con el target (edad, sexo, estudios, etc). Por ejemplo puede ser un lenguaje llano, natural o espontaneo que resulte muy cercano e invite a leer y participar.</li>
<li>Los lectores parecen se más receptivos los Martes y Miércoles de 2 a 3 PM. Según he leído las razones pueden deberse a que los usuarios en el Lunes tienen la bandeja algo saturada del fin de semana, y los Jueves/Viernes ya vuelven a preocuparse más del fin de semana que del correo pendiente.</li>
<li>Personalizar los e-mails para resultar más cercano y menos automatizado. Esto puede realizarse con variables para el saludo y despedida:
<ul>
<li>Hola [username]</li>
<li>Saludos [username] del equipo [nombre-proyecto]</li>
</ul>
<p>Incluso se podría personalizar en función de la hora del envió:</p>
<ul>
<li>Buenos días [username]</li>
<li>Buenas tardes [username]</li>
<li>Buenas noches [username]</li>
</ul>
</li>
</ul>
<h3>Contenido</h3>
<ul>
<li>Poner un link para ver la versión web del email enviado (una alternativa).</li>
<li>Pensar en títulos adecuados para cada newsletter.<br />
Ejemplo: Compañía &#8211; Asunto [Ref.12]</p>
<ul>
<li>Primero la compañía/empresa/marca que enviá el newsletter.</li>
<li>A continuación el asunto/titulo del newsletter.</li>
<li>Finalmente podemos incluir el número (referencia) del newsletter.</li>
</ul>
<p>*nota: el asunto debe tener menos de 50 caracteres por razones de compatibilidad con el mayor número de gestores posible.</li>
<li>Indicar al usuario que ha recibido el email debido a que esta suscrito en [nombre-proyecto] (enlace a la web).</li>
<li>Los newsletter deben ir relacionados con la temática que se espera. El contenido debe ser de gran valor para no perder suscriptores.</li>
<li>Dar muy buenas razones para permanecer suscrito al newsletter. Esto puede hacerse con descuentos, promociones, noticias, secretos, en definitiva cosas que no puedan obtener por otros medios.</li>
<li>Incluir un enlace a la política de privacidad.</li>
<li>Incluir datos para saber que detrás hay una empresa real. Por ejemplo la dirección, el teléfono, etc.</li>
<li>Invitar al usuario a seguir leyendo contenidos con enlaces hacia la página web.</li>
</ul>
<h3>Diseño</h3>
<p>Merece un post aparte debido a las peculiaridades: <a href="http://aurea.es/2009/05/27/codigo-para-el-diseno-de-e-mails-y-newsletters/">Código para el diseño de e-mails y newsletters</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://aurea.es/2010/07/26/consejos-para-newsletter-e-mail/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Etiqueta PRE, desbordamiento en gmail y solución con nl2br o white-space</title>
		<link>http://aurea.es/2010/07/19/etiqueta-pre-desbordamiento-en-gmail-solucion-con-white-space/</link>
		<comments>http://aurea.es/2010/07/19/etiqueta-pre-desbordamiento-en-gmail-solucion-con-white-space/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 14:22:31 +0000</pubDate>
		<dc:creator>javiaurea</dc:creator>
				<category><![CDATA[Estándares]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[nl2br]]></category>
		<category><![CDATA[pre]]></category>
		<category><![CDATA[white-space]]></category>

		<guid isPermaLink="false">http://aurea.es/?p=5314</guid>
		<description><![CDATA[Me he encontrado con un problema que parece afectar exclusivamente a Gmail y que ocurre al recibir un mail que contiene la etiqueta pre. La misión de esta etiqueta es pre-formatear su contenido, con lo cual mantiene en el texto los espacios en blanco, saltos de línea, etc. Y es justamente por esa razón por [...]]]></description>
			<content:encoded><![CDATA[<p>Me he encontrado con un problema que parece afectar exclusivamente a <a href="http://gmail.com">Gmail</a> y que ocurre al recibir un mail que contiene la etiqueta <a href="http://www.w3.org/TR/html401/struct/text.html#h-9.3.4">pre</a>. </p>
<p>La misión de esta etiqueta es pre-formatear su contenido, con lo cual mantiene en el texto los espacios en blanco, saltos de línea, etc. Y es justamente por esa razón por la que debemos tener mucho cuidado (no soy muy amigo de emplearla).</p>
<p>En Gmail, por ejemplo se producía un desbordamiento horizontal, donde salia el scroll y el texto continuaba a lo largo y ancho de la ventana <img src='http://aurea.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Como solución, sustituir <code>pre</code> por un simple <code>div</code> en conjunción con una de estas dos opciones para el contenido que albergará:</p>
<ul>
<li>Formatear el contenido con PHP: Podemos ayudarnos de la función <a href="http://php.net/manual/es/function.nl2br.php">nl2br</a> que insertará los saltos de línea.<br />
<br />Ejemplo:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">    <span style="color: #990000;">nl2br</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'texto con formato'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

</li>
<li>Formatear el contenido con CSS: Podemos usar la regla <code>white-space: pre;</code> para simular el comportamiento de la etiqueta <code>pre</code>.<br />
<br />Ejemplo:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">    &lt;div style=&quot;white-space: pre;&quot;&gt;
        texto con formato
    &lt;/div&gt;</pre></div></div>

</li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://aurea.es/2010/07/19/etiqueta-pre-desbordamiento-en-gmail-solucion-con-white-space/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Optimización de CSS; Nicole Sullivan nos enseña 5 errores típicos y 5 buenas maneras</title>
		<link>http://aurea.es/2010/07/15/optimizacion-de-css-nicole-sullivan-nos-ensena-5-errores-tipicos-y-5-buenas-maneras/</link>
		<comments>http://aurea.es/2010/07/15/optimizacion-de-css-nicole-sullivan-nos-ensena-5-errores-tipicos-y-5-buenas-maneras/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 18:51:29 +0000</pubDate>
		<dc:creator>javiaurea</dc:creator>
				<category><![CDATA[Estándares]]></category>
		<category><![CDATA[cdn]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[gzip]]></category>
		<category><![CDATA[optimización]]></category>
		<category><![CDATA[pagespeed]]></category>
		<category><![CDATA[yslow]]></category>
		<category><![CDATA[yui]]></category>

		<guid isPermaLink="false">http://aurea.es/?p=5276</guid>
		<description><![CDATA[Hace un tiempo escribí sobre algunas técnicas para poder optimizar nuestros códigos CSS. También mencionaba herramientas que puede facilitar nuestro trabajo de optimización: Firebug, PageSpeed, YSlow y YUI Compressor. 5 errores típicos Un 42% de páginas no comprimen su contenido con GZIP. Un 44% de páginas enlazan a más de 2 ficheros CSS. Un 56% [...]]]></description>
			<content:encoded><![CDATA[<p>Hace un tiempo escribí sobre <a href="http://aurea.es/2010/03/10/optimizar-css-12-consejos-y-3-herramientas/">algunas técnicas para poder optimizar nuestros códigos CSS</a>. También mencionaba herramientas que puede facilitar nuestro trabajo de optimización: <a href="https://addons.mozilla.org/es-ES/firefox/addon/1843">Firebug</a>, <a href="http://code.google.com/intl/es-ES/speed/page-speed/">PageSpeed</a>, <a href="http://developer.yahoo.com/yslow/">YSlow</a> y <a href="http://developer.yahoo.com/yui/compressor/">YUI Compressor</a>.</p>
<h3>5 errores típicos</h3>
<ul>
<li>Un 42% de páginas no comprimen su contenido con GZIP.</li>
<li>Un 44% de páginas enlazan a más de 2 ficheros CSS.</li>
<li>Un 56% no sirven el <acronym title="Cascading Style Sheets" xml:lang="en">CSS</acronym> con cookies (o no la entiendo, o esta la veo complicada de evitar sin CDN).</li>
<li>Un 63% no minimiza sus ficheros con herramientas como <a href="http://developer.yahoo.com/yui/compressor/">YUI Compressor</a>.</li>
<li>Un 21% de páginas tienen ficheros <acronym title="Cascading Style Sheets" xml:lang="en">CSS</acronym> con más de 100K de peso (esta es de escándalo).</li>
</ul>
<p>Si en nuestros <acronym title="Cascading Style Sheets" xml:lang="en">CSS</acronym> sumamos: demasiada atomicidad, normas, duplicación, conflictos y lo aderezamos todo con algo de impredecibilidad, tendremos por resultado un enorme e incontrolable CSS.</p>
<h3>5 buenas maneras</h3>
<p>Lo que debemos evitar es:</p>
<h4>1. La Atomicidad</h4>
<p>Imaginemos una página Web como si fuera un coche. Para crear ese coche usamos piezas de lego, una a una las vamos posicionando hasta crear la figura del coche. </p>
<ul>
<li>Con <acronym title="Cascading Style Sheets" xml:lang="en">CSS</acronym> básicamente hacemos lo mismo, podemos ir pieza a pieza posicionando y creando el sitio web. Y es justamente el planteamiento que debemos cambiar.</li>
<li>La idea es evitar pensar en pequeñas piezas (átomos) y pensar en objetos que se puedan reutilizar. De esta manera podemos por ejemplo crear con <acronym title="Cascading Style Sheets" xml:lang="en">CSS</acronym> una rueda del coche, que a su vez bastaría para simular las otras tres restantes.</li>
<li>Esto se podría considerar una evolución de la forma de pensar en el CSS.</li>
</ul>
<h4>2. Normas desfasadas</h4>
<p>Que van acumulandose, que no se reutilizan, que son incrementales en el tiempo, muy especificas, etc.</p>
<h4>3. Normas imprevisibles</h4>
<p>Que no pueden ser reutilizadas y que son totalmente dependientes de su ubicación.</p>
<h4>4. Guerras de especificidad</h4>
<p>Nodos hijos de hijos de otros hijos, hacks, estilos con #ID que no pueden ser reutilizados, la sentencia !important no tiene cabida (si se usa bien la cascada), <a href="http://aurea.es/2010/03/10/optimizar-css-12-consejos-y-3-herramientas/">etc</a>. </li>
<h4>5. Duplicidad</h4>
<p>Definir en numerosas ocasiones reglas como: margin, float, font-size, etc. Como solución tenemos:</p>
<ul>
<li><a href="http://aurea.es/2008/11/27/tecnicas-para-resetear-css/">Algunas técnicas para resetear el CSS</a>.</li>
<li>Pensar en global, en todo el sitio web. Para ello ayuda mucho seguir <a href="http://aurea.es/2010/04/29/diseno-centrado-en-el-usuario-una-propuesta/">una metodología como la DCU</a>, para abstraer el futuro marcado de los mockups y ejecutar nuestro &#8220;<acronym title="Cascading Style Sheets" xml:lang="en">CSS</acronym> kung-fu&#8221;! <img src='http://aurea.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p><object type="application/x-shockwave-flash" data="http://www.youtube.com/v/j6sAm7CLoCQ" width="425" height="355" class="embedflash"><param name="movie" value="http://www.youtube.com/v/j6sAm7CLoCQ" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><small>(Please open the article to see the flash file or player.)</small></object></p>]]></content:encoded>
			<wfw:commentRss>http://aurea.es/2010/07/15/optimizacion-de-css-nicole-sullivan-nos-ensena-5-errores-tipicos-y-5-buenas-maneras/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

