<?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>Sumolari.com &#187; html</title>
	<atom:link href="http://sumolari.com/tag/html/feed/" rel="self" type="application/rss+xml" />
	<link>http://sumolari.com</link>
	<description>Proyectos de un amante de la informática</description>
	<lastBuildDate>Thu, 09 Feb 2012 21:18:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Comparte en Tuenti tus artículos de WordPress</title>
		<link>http://sumolari.com/comparte-en-tuenti-tus-articulos-de-wordpress/</link>
		<comments>http://sumolari.com/comparte-en-tuenti-tus-articulos-de-wordpress/#comments</comments>
		<pubDate>Tue, 24 Aug 2010 08:17:25 +0000</pubDate>
		<dc:creator>Sumolari</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[tuenti]]></category>

		<guid isPermaLink="false">http://sumolari.com/?p=4434</guid>
		<description><![CDATA[Hace algunos días Tuenti anunció un botón para compartir páginas web en la red social. La pega es que este botón no es tan automático como el de Twitter, y requiere algo más de esfuerzo añadirlo en nuestras páginas web, aunque no es para nada complicado. El botón es básicamente un enlace que contiene una [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://sumolari.com/wp-content/uploads/2010/08/botones_tuenti.png" rel="lightbox-4434"><img class="alignleft size-medium wp-image-4435 leftimage" title="Botones para compartir en Tuenti" src="http://sumolari.com/wp-content/uploads/2010/08/botones_tuenti-300x82.png" alt="Botones para compartir en Tuenti" width="300" height="82" /></a>Hace algunos días <a href="http://tuenti.com">Tuenti</a> anunció <a href="http://www.tuenti.com/#m=Developercorporatepages&amp;func=index">un botón para compartir páginas web en la red social</a>. La pega es que este botón no es tan automático como <a href="http://sumolari.com/ya-podemos-anadir-el-boton-oficial-de-twitter/">el de Twitter</a>, y requiere algo más de esfuerzo añadirlo en nuestras páginas web, aunque no es para nada complicado. El botón es básicamente un enlace que contiene una imagen, creado con el siguiente código <a href="http://sumolari.com/tag/html/">HTML</a>:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;a href=&quot;http://www.tuenti.com/share?url=[URL_DE_NUESTRO_ARTICULO]&quot; target=&quot;_blank&quot;&gt;
&lt;img src=&quot;[IMAGEN_DEL_BOTON]&quot; /&gt;
&lt;/a&gt;
</pre>
<p>La URL del enlace apunta a la página de compartir de Tuenti, donde <em>[URL_DE_NUESTRO_ARTICULO]</em> debe ser reemplazado por la URL de nuestro artículo codificada, o bien mediante la función <a href="http://sumolari.com/category/javascript/">Javascript</a> <em>encodeURIComponent()</em> o bien mediante la función <a href="http://sumolari.com/category/php/">PHP</a> <em>urlencode()</em>.</p>
<p>La imagen del botón podemos elegirla nosotros, lo recomendable es usar algunas de <a href="http://estaticos.tuenti.com/corporate/tuenti_share_kit.1.zip">las que ofrece Tuenti</a> para no confundir a los usuarios, aunque también podemos crear las nuestras. Por último, los desarrolladores de Tuenti recomiendan que el enlace se abra en una nueva ventana, aunque quizás sería mejor abrir la ventana dentro de una ventana modal en nuestro propio blog, para así evitar tener que abrir una nueva pestaña.</p>
<p>Para añadir el botón de compartir a todos nuestros artículos basta con editar el archivo single.php de nuestro theme de <a href="http://sumolari.com/category/wordpress/">WordPress</a> y añadir en el lugar que queramos mostrar el enlace:</p>
<pre class="brush: php; title: ; notranslate">
&lt;a href=&quot;http://www.tuenti.com/share?url=&lt;?php echo urlencode(get_permalink()); ?&gt;&quot; target=&quot;_blank&quot;&gt;
 &lt;img src=&quot;http://estaticosak1.tuenti.com/layout/web2-Zero/images/corporate/3_share_es_dark.59917.png&quot; /&gt;
 &lt;/a&gt;
</pre>
<p>El código simplemente muestra el enlace con el permalink del artículo cofidicado. La URL de la imagen que aparece en el código anterior es la misma que aparece en la página de desarrolladores de Tuenti, así que podéis usar esa o cambiarla por otra. No os recomiendo usar la que hay en el código de ejemplo porque tal vez la ruta a esa imagen cambien en algún tiempo y entonces os dejen de funcionar los botones de compartir.</p>
<p>También podéis añadir el botón a vuestras páginas, no sólo a los artículos, mediante el mismo código.</p>
]]></content:encoded>
			<wfw:commentRss>http://sumolari.com/comparte-en-tuenti-tus-articulos-de-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ya podemos añadir el botón oficial de Twitter</title>
		<link>http://sumolari.com/ya-podemos-anadir-el-boton-oficial-de-twitter/</link>
		<comments>http://sumolari.com/ya-podemos-anadir-el-boton-oficial-de-twitter/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 07:50:46 +0000</pubDate>
		<dc:creator>Sumolari</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://sumolari.com/?p=4389</guid>
		<description><![CDATA[Desde ayer está disponible el nuevo botón de Twitter, que permite compartir enlaces a través de Twitter. La principal ventaja es que nos permite llevar la cuenta de cuántas veces se ha compartido el enlace, además de que tras enviar el Tweet el usuario verá un lista de usuarios sugeridos para seguir, lista de usuarios [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://sumolari.com/wp-content/uploads/2010/08/boton_twitter.png" rel="lightbox-4389"><img class="size-medium wp-image-4390 alignleft leftimage" title="Estilos del botón de Twitter" src="http://sumolari.com/wp-content/uploads/2010/08/boton_twitter-300x99.png" alt="Estilos del botón de Twitter" width="300" height="99" /></a>Desde ayer <a href="http://blog.twitter.com/2010/08/pushing-our-tweet-button.html">está disponible el nuevo botón de Twitter</a>, que permite compartir enlaces a través de Twitter. La principal ventaja es que nos permite llevar la cuenta de cuántas veces se ha compartido el enlace, además de que tras enviar el Tweet el usuario verá un lista de usuarios sugeridos para seguir, lista de usuarios que definiremos nosotros a la hora de crear el botón.</p>
<p>No es nada complicado implementar el botón, básicamente tenemos que ir a <a href="http://twitter.com/goodies/tweetbutton">la página del botón de Twitter</a> (aunque podemos crear nuestros propios botones a través de<a href="http://dev.twitter.com/pages/tweet_button"> la API</a>, pero es más complicado) y elegir entre uno de los tres aspectos que nos ofrecen. Podemos especificar el texto del Tweet o dejar que sea el título de la página que se va a compartir, al igual que podemos especificar la URL del enlace o dejar que sea la URL de la página. También podemos definir el idioma del botón. A continuación nos piden que especifiquemos una serie de cuentas que se sugerirán al usuario, la idea es que sean las cuentas de aquellos que contribuyen publicando contenidos en la página web. Finalmente veremos un código HTML, basta con copiarlo y pegarlo en la página que queramos para mostrar el botón.</p>
<p>Por último os dejo el vídeo de presentación del botón.</p>
<p><a href="http://sumolari.com/ya-podemos-anadir-el-boton-oficial-de-twitter/">Haz clic aquí para ver el vídeo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sumolari.com/ya-podemos-anadir-el-boton-oficial-de-twitter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ventajas de usar CSS</title>
		<link>http://sumolari.com/ventajas-de-usar-css/</link>
		<comments>http://sumolari.com/ventajas-de-usar-css/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 09:27:44 +0000</pubDate>
		<dc:creator>Sumolari</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Navegadores]]></category>
		<category><![CDATA[diseño]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://sumolari.com/?p=4298</guid>
		<description><![CDATA[Muchas veces se dice que no siempre el camino fácil es el mejor. Esto se puede aplicar a muchas cosas, y el CSS (Cascading Style Sheets) no iba a ser menos. Seguramente si acabáis de entrar en el mundo del diseño web os habréis sentido tentados a usar tablas (&#60;table&#62;) en lugar de capas (&#60;div&#62;) [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://sumolari.com/wp-content/uploads/2010/07/css.png" rel="lightbox-4298"><img class="alignleft size-thumbnail wp-image-4308 leftimage" title="Código CSS" src="http://sumolari.com/wp-content/uploads/2010/07/css-230x130.png" alt="Código CSS" width="230" height="130" /></a>Muchas veces se dice que no siempre el camino fácil es el mejor. Esto se puede aplicar a muchas cosas, y el <a href="http://sumolari.com/category/css/">CSS</a> (<em>Cascading Style Sheets</em>) no iba a ser menos. Seguramente si acabáis de entrar en el mundo del diseño web os habréis sentido tentados a usar tablas (<em>&lt;table&gt;</em>) en lugar de capas (<em>&lt;div&gt;</em>) y a usar el atributo <em>style</em> en lugar de archivos <a href="../category/css/">CSS</a>. A continuación voy a exponer mis 10 razones por las cuales es mejor usar <a href="../category/css/">CSS</a> que no hacerlo.<span id="more-4298"></span></p>
<h3>Reutilizar código</h3>
<p>Pongamos por caso que estamos escribiendo un blog y que tenemos hecho ya el diseño. Ahora insertamos una imagen y queremos darle un borde gris para que encaje al a perfección con nuestro diseño. ¿Qué hacemos: modificar el <a href="../category/css/">CSS</a> de nuestro diseño o utilizar el atributo <em>style</em>? Es tarde, estamos cansados y al día siguiente tenemos que madrugar, así que tomamos la vía rápida y utilizamos <em>style</em>. Un par de semanas después no encontramos en la misma situación y hacemos lo mismo, y según avanza el tiempo cada vez se dan más ocasiones como ésta. Quizás aplicar un simple borde no sea nada del otro mundo, pero si en lugar de eso también aplicamos un margen, un relleno y un color de fondo, estamos duplicando un montón de código que no tendríamos por que repetir. <strong></strong></p>
<h3>Separar el contenido del diseño</h3>
<p>Supongamos que hemos hecho lo que comentaba en el punto anterior y que tenemos un montón de etiquetas con estilos heredados del atributo <em>style</em>. ¿Qué sucedería si cambiamos el diseño de la web? Pensemos en un blog con <a href="http://sumolari.com/category/wordpress/">WordPress</a> y en la cantidad de themes que hay disponibles. Quizá dentro de tres o cuatro meses queramos cambiar el diseño por uno nuevo, y al aplicarlo no encontraríamos con una desagradable sorpresa: los elementos que tienen estilos en la etiqueta <em>style</em> se ven como en el diseño anterior y quedan mal en el nuevo diseño. Ahora tendríamos que ir buscando uno a uno cada elemento que al que le hemos añadido estilos de este modo para cambiarlos por unos que queden mejor. Menuda faena, ¿no os parece?</p>
<h3>Rediseñar de forma más rápida</h3>
<p>Pensemos ahora que hemos sido nosotros los que hemos creado el diseño, y que lo hemos hecho utilizando el atributo <em>style</em>. Si nuestra web es dinámica, tan sólo tendremos que modificar algunos archivos, pero si la hemos hecho con archivos <a href="../tag/html/">HTML</a> sueltos, sin una Base de Datos que almacene el contenido, tendremos que modificar tantos archivos como contenido hayamos creado. Quizás 10 páginas no son muchas, pero por ejemplo este blog tiene ya más de 650 artículos, que serían más de 650 archivos a modificar&#8230; no quiero ni imaginármelo.</p>
<h3>Tener un código limpio</h3>
<p>Algunas de las cosas que nos pueden parecer extrañas al entrar en el mundo del código (sea el que sea) es que se tabula con muchísima frecuencia el código. ¿A qué se debe? A mejorar la legibilidad del mismo. Puede que tras hacer un diseño o crear un programa recordemos a la perfección en qué línea estaba cada cosa y dónde comenzaba y acababa cada etiqueta (o condición, o bucle o&#8230;). ¿Nos acordaremos dentro de dos meses? ¿Y dentro de dos años? ¿Y aquellos que sólo miren el código para aprender podrán entender algo? Tener un código limpio es muy importante para poder mantener un proyecto, sea código <a href="../category/css/">CSS</a>, <a href="http://sumolari.com/category/php/">PHP</a>, C++&#8230; Tabular el código es una forma de mantenerlo limpio, y añadir estilos con el atributo <em>style</em> es una forma de ensuciarlo.</p>
<p>Mirad el siguiente código:</p>
<pre class="brush: xml; title: ; notranslate">&lt;div class=&quot;nota&quot;&gt;&lt;p&gt;Hola mundo&lt;/p&gt;&lt;/div&gt;</pre>
<p>Y ahora mirad este otro:</p>
<pre class="brush: xml; title: ; notranslate">&lt;div style=&quot;background:#000 url(img/fondo_nota.png) top left no-repeat; border:1px solid #CCC; padding: 10px 5px 7px 3px; margin:2px 5px 6px 1px; float right; display:block; position:relative; top: -20px; left:50px;&quot;&gt;&lt;p&gt;Hola mundo&lt;/p&gt;&lt;/div&gt;</pre>
<p>En ambos el contenido que se muestra es el mismo. ¿En cuál os ha costado más encontrar la frase que verá el visitante? Este es un ejemplo de a lo que me refiero con limpieza de código.<strong></strong></p>
<h3>Selectores más avanzados</h3>
<p>Hasta ahora todo lo que habíamos visto que nos permitía hacer <a href="../category/css/">CSS</a> también podíamos hacerlo con el atributo style, pero no es así, <a href="../category/css/">CSS</a> nos permite hacer más cosas. Pensemos por ejemplo en que queremos que un link cambie de color al pasar el cursor sobre él. Con <a href="../category/css/">CSS</a> lo tenemos realmente fácil:</p>
<pre class="brush: css; title: ; notranslate">a:hover { color:#CCC; }</pre>
<p>Sin embargo hacer esto con el atributo <em>style</em> no es posible. Puede que cambiar el color de un enlace no os parezca demasiado útil, pero imaginad ahora que queréis hacer un menú desplegable sin usar <a href="http://sumolari.com/category/javascript/">Javascript</a>. Con <a href="../category/css/">CSS</a> es realmente fácil de hacer, pero ¿y con el atributo <em>style</em>? Simplemente no se puede hacer.</p>
<h3>Selectores &#8220;a secas&#8221;</h3>
<p>Ahora pongamos el caso de que queremos usar Javascript para añadir algún efecto o para hacer que al hacer clic sobre cierto elemento se muestre otro elemento oculto. Usando el atributo <em>ID</em> o <em>class</em> de cualquier etiqueta <a href="http://sumolari.com/tag/html/">HTML</a> podemos detectar con <a href="../category/javascript/">Javascript</a> no intrusivo cuándo se hace clic, sin embargo si no usamos estos atributos no podemos detectar cuándo se pulsa cierto elemento sin recurrir a métodos no recomendados para la accesbilida del sitio web. Además, tanto al atributo <em>ID</em> como el atributo <em>class</em> se pueden usar para darles estilos a los elementos de la web, así que ganamos en <a href="../category/javascript/">Javascript</a> no intrusivo y en <a href="../category/css/">CSS</a>.</p>
<h3>Carga más rápida</h3>
<p><strong></strong>Toda esta limpieza y reutilización de código contribuyen a que la página cargue más rápido, ya que hay un total de menos código, los archivos tienen un menor tamaño y la descarga de los mismos dura menos tiempo. Además al reducir el tamaño también reducimos el ancho de banda que consume cada visita, con lo cual también podemos ahorrar algo más en temas de alojamiento y servidor.</p>
<h3>Un diseño para cada ocasión</h3>
<p>Otra ventaja del <a href="../category/css/">CSS</a> es que podemos cambiar el archivo por otro y modificar totalmente el aspecto de la web sin tocar el contenido. El mejor ejemplo de esto mismo es <a href="http://www.csszengarden.com/">CSS Zen Garden</a>, una página que tiene siempre el mismo código <a href="../tag/html/">HTML</a> y que sólo cambia el archvo <a href="../category/css/">CSS</a> que se carga. Quizá parezca una tontería, pero en muchas ocasiones es necesario cargar un archivo <a href="../category/css/">CSS</a> específico para cierto navegador o un archivos <a href="../category/css/">CSS</a> diferente para dispositivos móbiles o para una versión para imprimir.</p>
<h3>Las tablas para tabular</h3>
<p>Y aquí es donde entran las tablas. Sin duda es muy fácil convertir una tabla en un rectángulo con esquinas curvas o un diseño a tres columnas, pero ¿se crearon para eso? No, el objetivo de las tablas es mostrar contenido tabulado, tarea que desempeñan la mar de bien. Pensemos que usamos tablas para el diseño de un blog en tres columnas. Ponemos una sidebar a cada lado y el contenido del blog en la columna central. Ahora imaginemos que queremos las dos sidebars a la derecha o ambas a la izquierda. Habría que modificar sí o sí el código <a href="../tag/html/">HTML</a> ya que no hay forma de alterar la posición de las columnas mediante <a href="../category/css/">CSS</a>. Sin embargo usando capas (div) y <a href="../category/css/">CSS</a> se podrían hacer las tres columnas sin problemas y más adelante cambiar su disposición modificando sólo el código <a href="../category/css/">CSS</a>. Pensemos de nuevo en <a href="http://www.csszengarden.com/">CSS Zen Garden</a>. Si usara tablas, sería imposible que cambiase tanto la disposición del contenido al modificar el <a href="../category/css/">CSS</a>.</p>
<h3>Y a todo esto, ¿qué pasa con los estándares?</h3>
<p>No es mi intención hablar de los estándares en este artículo, pero algo comentaré. Actualmente seguir los estándares y comprobar que el código es válido tiene algunas ventajas. La primera es que te ahorras posibles problemas al dejar etiquetas sin cerrar o al olvidar alguna comillas (&#8220;) o similares. Algunos navegadores pueden mostrar correctamente un diseño con este tipo de errores mientras que otros no. Siguiendo los estándares te ahorras estos problemas. Además los estándares te ofrecen un buen punto de partida para que el diseño se vea correctamente en cualquier navegador. Está claro que todo acaba dependiendo del motor de renderizado del navegador, pero si el navegador en cuestión utiliza un buen motor de renderizado, la página se verá perfectamente, mientras que si se recurre a código no estándar y que sólo funciona en determinado navegador, el página no se verá correctamente en todos lo demás. Los estándares no limitan lo que podemos hacer, simplemente nos proponen (ya que no es obligatorio, sino recomendable) un modo de hacerlo para que todos lo hagamos igual y los navegadores sean capaces de mostrar correctamente todo el contenido. Siempre debe haber un estándar, sino, cada navegador interpretaría el código de una forma diferente (algo que lamentablemente, a pesar de los estándares, sucede). ¿A que a nadie se le ocurriría utilizar la etiqueta <em>&lt;span&gt;</em> como <em>&lt;div&gt; </em>o como <em>&lt;p&gt;</em>? ¿Entonces por qué aún hay quién utiliza la etiqueta <em>&lt;table&gt;</em> como <em>&lt;div&gt;</em>? ¿Qué debe interpretar el navegador: esa tabla es sólo para estructura del contenido o es (como dice el estándar) para mostrar contenido tabulado?</p>
]]></content:encoded>
			<wfw:commentRss>http://sumolari.com/ventajas-de-usar-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Muestra una alerta a los usuarios de Internet Explorer</title>
		<link>http://sumolari.com/muestra-una-alerta-a-los-usuarios-de-internet-explorer/</link>
		<comments>http://sumolari.com/muestra-una-alerta-a-los-usuarios-de-internet-explorer/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 16:20:32 +0000</pubDate>
		<dc:creator>Sumolari</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[diseño]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[internet explorer]]></category>

		<guid isPermaLink="false">http://sumolari.com/?p=2813</guid>
		<description><![CDATA[A raíz de un comentario de JaimePG se me ha ocurrido volver a tratar un tema del que ya hablé hace casi un año: Detectar a Internet Explorer. Aunque el tema quedó bastante claro, esta vez haré un recopilatorio de dos métodos para mostrar un cartel a los usuarios de Internet Explorer. En todos los [...]]]></description>
			<content:encoded><![CDATA[<p>A raíz de <a href="http://sumolari.com/carga-el-theme-por-defecto-de-wordpress-al-navegar-con-ie6/comment-page-1/#comment-5848">un comentario de JaimePG</a> se me ha ocurrido volver a tratar un tema del que ya hablé hace casi un año: <a href="http://sumolari.com/detecta-a-internet-explorer-con-php/">Detectar a Internet Explorer</a>. Aunque el tema quedó bastante claro, esta vez haré un recopilatorio de dos métodos para mostrar un cartel a los usuarios de <a href="http://sumolari.com/tag/internet-explorer/">Internet Explorer</a>.</p>
<p>En todos los modos partiremos de un código <a href="http://sumolari.com/category/css/">CSS</a> preestablecido (que deberéis añadir a vuestro <a href="../category/css/">CSS</a>):</p>
<pre class="brush: css; title: ; notranslate">
#usuarios-ie {
width:100%;
font-family:Verdana, Geneva, sans-serif;
background: #FFFFDE;
border-bottom:1px solid #666;
color:#000;
position:fixed;
top:0px;
left:0px;
z-index:999999;
}

#usuarios-ie p { font-size: 13px; margin: 0; padding:2px 10px; }
#usuarios-ie a  {text-decoration: underline; font-weight: bold; color: #D64411; }
</pre>
<p>Y también partiremos del mismo código <strong>HTML</strong> cada vez:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;usuarios-ie&quot;&gt;&lt;p&gt;El navegador que est&amp;aacute;s utilizando no es recomendable para navegar en Internet.  Te recomiendo te cambies a &lt;a href=&quot;http://www.mozilla.com&quot; title=&quot;Firefox web browser&quot;&gt;Firefox&lt;/a&gt;, &lt;a href=&quot;http://www.opera.com/&quot; title=&quot;Opera Browser&quot;&gt;Opera&lt;/a&gt;, &lt;a href=&quot;http://www.apple.com/es/safari/&quot; title=&quot;Apple Safari&quot;&gt;Safari&lt;/a&gt; o &lt;a href=&quot;http://www.google.com/chrome&quot; title=&quot;Google Chrome&quot;&gt;Google Chrome&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
</pre>
<h3>Usando HTML</h3>
<p>Este método es el más fácil de implementar y consiste en utilizar un estilo <a href="../category/css/">CSS</a> especial para <a href="../tag/internet-explorer/">Internet Explorer</a> que muestre el cartel de aviso. Básicamente usaremos un comentario condicional que sólo analiza <a href="../tag/internet-explorer/">Internet Explorer</a> y que nos permite distinguir cada versión de <a href="../tag/internet-explorer/">Internet Explorer</a>. Este comentario, al ser código <strong>HTML</strong>, nos funcionará en cualquier servidor, sin necesidad de que tenga instalado <a href="http://sumolari.com/category/php/">PHP</a>.</p>
<p>La estructura del comentario condicional es la siguiente:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!--[if IE]&gt;
Código especial para IE
&lt;![endif]--&gt;
&lt;!--[if IE N]&gt;
Código especial para IE, donde N es el número de la versión de Internet Explorer
&lt;![endif]--&gt;
&lt;!--[if IE 6]&gt;
Código especial para IE 6
&lt;![endif]--&gt;
&lt;!--[if IE 7]&gt;
Código especial para IE 7
&lt;![endif]--&gt;
&lt;!--[if lt IE 6]&gt;
Código espcial para versiones anteriores a IE 6
&lt;![endif]--&gt;
&lt;!--[if lte IE 6]&gt;
Código especial para versiones anteriores o iguales a IE 6
&lt;![endif]--&gt;
&lt;!--[if gt IE 6]&gt;
Código especial para versiones posteriores a IE 6
&lt;![endif]--&gt;
&lt;!--[if gte IE 6]&gt;
Código espcial para IE 6 y versiones posteriores
&lt;![endif]--&gt;
</pre>
<p>Como podréis imaginar, situaremos el código entre los comentarios condicionales, dependiendo de a quién queramos mostrarle el cartel. Si por ejemplo nos basta con IE6 y anteriores, usaremos el siguiente código:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!--[if lte IE 6]&gt;
&lt;div id=&quot;usuarios-ie&quot;&gt;&lt;p&gt;El navegador que est&amp;aacute;s utilizando no es recomendable para navegar en Internet.  Te recomiendo te cambies a &lt;a href=&quot;http://www.mozilla.com&quot; title=&quot;Firefox web browser&quot;&gt;Firefox&lt;/a&gt;, &lt;a href=&quot;http://www.opera.com/&quot; title=&quot;Opera Browser&quot;&gt;Opera&lt;/a&gt;, &lt;a href=&quot;http://www.apple.com/es/safari/&quot; title=&quot;Apple Safari&quot;&gt;Safari&lt;/a&gt; o &lt;a href=&quot;http://www.google.com/chrome&quot; title=&quot;Google Chrome&quot;&gt;Google Chrome&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
&lt;![endif]--&gt;
</pre>
<p><strong>Atención:</strong> Este método funciona debido a que el motor de renderizado de <a href="../tag/internet-explorer/">Internet Explorer</a> (<a href="http://es.wikipedia.org/wiki/Trident">Trident</a>) analiza estos comentarios, así que este método no funcionará alterando el <em>User Agent</em> del navegador con el que accedemos.</p>
<h3>Usando PHP</h3>
<p>Ahora sí que usaremos <a href="../category/php/">PHP</a>, y por tanto necesitaremos un servidor capaz de ejecutarlo para poder detectar a <a href="../tag/internet-explorer/">Internet Explorer</a>. Lo que haremos será leyendo el <em>User Agent</em> del navegador buscaremos la cadena identificatoria de <a href="../tag/internet-explorer/">Internet Explorer</a> y si la encontramos, le daremos <em>true</em> al valor de la variable <em>$ie</em>.</p>
<p>Con este método podemos llegar a falsos positivos, ya que si el navegador con el que accedemos a la página tiene el <em>User Agent</em> cambiado por el de <a href="../tag/internet-explorer/">Internet Explorer</a>, lo detectaremos como si de él se tratase.</p>
<p>El código <a href="../category/php/">PHP</a> que usaremos será:</p>
<pre class="brush: php; title: ; notranslate">
$user_agent = $_SERVER['HTTP_USER_AGENT'];

$posicion = strrpos($user_agent, &quot;MSIE&quot;);

if ($posicion === false) {
$ie = false;
} else {
$ie = true;
}
</pre>
<p>Ahora basta con comprobar si $ie es true o false y actuar en consecuencia. El código necesario para hacerlo sería:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php if ($ie) { ?&gt;
&lt;div id=&quot;usuarios-ie&quot;&gt;&lt;p&gt;El navegador que est&amp;aacute;s utilizando no es recomendable para navegar en Internet.  Te recomiendo te cambies a &lt;a href=&quot;http://www.mozilla.com&quot; title=&quot;Firefox web browser&quot;&gt;Firefox&lt;/a&gt;, &lt;a href=&quot;http://www.opera.com/&quot; title=&quot;Opera Browser&quot;&gt;Opera&lt;/a&gt;, &lt;a href=&quot;http://www.apple.com/es/safari/&quot; title=&quot;Apple Safari&quot;&gt;Safari&lt;/a&gt; o &lt;a href=&quot;http://www.google.com/chrome&quot; title=&quot;Google Chrome&quot;&gt;Google Chrome&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
&lt;?php } ?&gt;
</pre>
<p>Con este código estaríamos detectando a <a href="../tag/internet-explorer/">Internet Explorer</a>, sea cual sea su versión. Si queremos buscar una única versión, basta con modificar la cadena <em>MSIE</em>, por ejemplo, para buscar a IE6, utilizaríamos<em> MSIE 6</em> en lugar de <em>MSIE</em>.</p>
<p>Lo malo de este método es que no podemos detectar a <a href="../tag/internet-explorer/">Internet Explorer</a> 6 o inferiores, tan sólo a IE6 (o IE7, o IE8, etc).</p>
<p>Yo por mi parte a partir de ahora mostraré un cartel de aviso a los usuarios de <a href="../tag/internet-explorer/">Internet Explorer</a> 6 o inferior en el blog, lo siento por los usuarios de IE6, pero hay alternativas mejores, multiplataforma y gratuitas, así que no veo motivo alguno para no cambiarse.</p>
]]></content:encoded>
			<wfw:commentRss>http://sumolari.com/muestra-una-alerta-a-los-usuarios-de-internet-explorer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

