<?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>rodrigoaguas.com &#187; Web</title>
	<atom:link href="http://www.rodrigoaguas.com/blog/category/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rodrigoaguas.com/blog</link>
	<description>Desenvolvimento de sites Web: acessibilidade, usabilidade, ASP, PHP, XHTML, CSS e Ajax.</description>
	<lastBuildDate>Tue, 01 Jun 2010 14:53:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Tutorial básico de JQuery</title>
		<link>http://www.rodrigoaguas.com/blog/tutorial-basico-de-jquery/</link>
		<comments>http://www.rodrigoaguas.com/blog/tutorial-basico-de-jquery/#comments</comments>
		<pubDate>Sat, 01 May 2010 12:30:18 +0000</pubDate>
		<dc:creator>Rodrigo Aguas</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.rodrigoaguas.com/blog/?p=90</guid>
		<description><![CDATA[O JQuery é uma biblioteca Javascript que simplifica extremamente a utilização de ajax, animações, tratamento de eventos e manipulação de elementos html em sites. A forma como se utiliza JQuery é um pouco diferente do que estamos acostumados no Javascript, mas essa mudança trouxe uma simplicidade incrível e compensa qualquer esforço necessário em seu aprendizado.
Uma [...]]]></description>
			<content:encoded><![CDATA[<p>O <a href="http://jquery.com/">JQuery</a> é uma biblioteca Javascript que simplifica extremamente a utilização de ajax, animações, tratamento de eventos e manipulação de elementos html em sites. A forma como se utiliza JQuery é um pouco diferente do que estamos acostumados no Javascript, mas essa mudança trouxe uma simplicidade incrível e compensa qualquer esforço necessário em seu aprendizado.</p>
<p>Uma instrução JQuery é composta por um <a href="http://api.jquery.com/category/selectors/">seletor</a> e um conjunto de operações a serem executadas nos elementos encontrados baseando-se no seletor. O seletor segue uma sintaxe muito parecida com a do <a href="http://www.w3schools.com/css/">CSS</a>, acrescentando a esta alguns recursos. As operações disponíveis são tão variadas que é difícil conhecer todas, alguns exemplos são: acrescentar classe, alterar valor de atributo, replicar elemento, esvaziar conteúdo de um elemento, remover elementos da página, aplicar animações (como fade in e fade out), fazer requisições ajax, etc, etc, etc&#8230; Uma lista completa da API pode ser encontrada na <a href="http://docs.jquery.com/Main_Page">documentação do JQuery</a>. O trecho de código abaixo não é funcional, tem como objetivo apenas ilustrar as explicações dadas.</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$<span style="color: #009900;">&#40;</span> SELETOR <span style="color: #009900;">&#41;</span>.<span style="color: #660066;">operacao</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>A palavra SELETOR está representando uma expressão utilizada para encontrar o conjunto de elementos da página que receberão a operação em questão. Ainda ilustrativamente, é comum o uso abaixo, quando são utilizadas diversas operações em um mesmo conjunto de elementos selecionados.</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$<span style="color: #009900;">&#40;</span> SELETOR <span style="color: #009900;">&#41;</span>.<span style="color: #660066;">operacao1</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">operacao2</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">operacao3</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>Antes de colocar as mão na massa é necessário importar o arquivo do JQuery colocando o seguinte código no elemento head da sua página:</p>
<div class="codecolorer-container html4strict default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://code.jquery.com/jquery-1.4.2.min.js&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></div></td></tr></tbody></table></div>
<p>Nosso primeiro exemplo não é muito interessante, mas explicará uma prática necessária na maioria dos códigos JQuery, e, como não poderia deixar de ser, será o famoso &#8220;Hello World&#8221;.</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$<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><br />
&nbsp; &nbsp; window.<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Ola Mundo!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>Você deve estar se perguntando que raios de Hello World complicado é esse e lhe dou razão, mas logo logo ficará mais claro. O que anteriormente chamei de seletor é sempre passado como parametro da função $, nesse caso estamos passando &#8216;document&#8217;, ou seja o elemento selecionado é o documento html. A operação utilizada é a &#8216;ready&#8217;, que serve para definir uma função a ser executada quando o documento está pronto (acabou de ser carregado, processado e exibido pelo navegador). Então, passamos como parametro da operação &#8216;ready&#8217; uma função que exibirá uma janela alert. Os códigos JQuery a serem executados quando a página for carregada devem estar sempre dentro dessa função no código anterior, ou seja:</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$<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><br />
&nbsp; &nbsp; <span style="color: #006600; font-style: italic;">// Código a ser executado na carga da página aqui!</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>Agora estamos prontos para exemplos mais interessantes! No próximo exemplo colocaremos uma tabela com as cores de fundo das linhas alternadas, nos basearemos no seguinte trecho de código html:</p>
<div class="codecolorer-container html4strict default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">table</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;listrada&quot;</span>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">tr</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;</span>Nome:<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;</span>Joãozinho<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;&lt;\tr&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">tr</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;</span>Idade:<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;</span>10<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;&lt;\tr&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">tr</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;</span>Sexo:<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;</span>Masculino<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;&lt;\tr&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">tr</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;</span>Pai:<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;</span>Desconhecido<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;&lt;\tr&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">tr</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;</span>Mae:<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;</span>Maria<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;&lt;\tr&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">table</span>&gt;</span></div></td></tr></tbody></table></div>
<p>A lógica que utilizaremos é selecionar primeiro os filhos do elemento identificado por &#8216;listrada&#8217; que estejam nas posições pares e definir uma cor de fundo azul para eles:</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#listrada&gt;*:even&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;background-color&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;#0000FF&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>Em seguida selecionamos os filhos do elemento identificado por &#8216;listrada&#8217; que estejam nas posições impares e definimos uma cor de fundo verde para os mesmos:</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#listrada&gt;*:odd&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;background-color&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;#00FF00&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>Como não podemos esquecer do nosso primeiro exemplo, a versão final do código para a tabela listrada fica assim:</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$<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><br />
&nbsp; &nbsp; $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#listrada&gt;*:even&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;background-color&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;#0000FF&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#listrada&gt;*:odd&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;background-color&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;#00FF00&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>Se preferirmos não colocar estilo diretamente no Javascript, podemos definir estilos no css para as linhas usando classes e alterar o nosso código da seguinte maneira:</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$<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><br />
&nbsp; &nbsp; $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#listrada&gt;*:even&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;linhaAzul&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#listrada&gt;*:odd&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;linhaVerde&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>O próximo exemplo aprofunda as explicações sobre <a href="http://api.jquery.com/category/events/">manipulação de eventos</a> dos elementos. Colocaremos em todos os links de uma página qualquer uma janela alert sendo exibida ao usuário quando o mesmo clica sobre o link.</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$<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><br />
&nbsp; &nbsp; $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;a&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><br />
&nbsp; &nbsp; &nbsp; &nbsp; window.<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Atenção: você está saindo do site rodrigoaguas.com.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>O seletor desse exemplo é bem simples, pesquisa por qualquer elemento A do documento html. Então, adiciona aos eventos onclick de todos os elementos selecionados uma chamada para a função que exibe a janela alert. Agora vamos melhorar o nosso código para impedir que a ação padrão do evento seja executada, para isso acrescentaremos um parametro à nossa função para receber um objeto que representa o evento.</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$<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><br />
&nbsp; &nbsp; $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;a&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>evento<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; window.<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Atenção: você está tentando sair do site rodrigoaguas.com, mas não vai conseguir.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; evento.<span style="color: #660066;">preventDefault</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>Depois de ser impedido de sair do site, queremos que o nosso usuário fique impedido de clicar novamente no link, para isso faremos uma animação de Fade Out no link clicado e ele deixará de ser exibido. Precisaremos utilizar o seletor &#8216;this&#8217; que representa o elemento onde o evento foi disparado.</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$<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><br />
&nbsp; &nbsp; $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;a&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>evento<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; window.<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Atenção: você está tentando sair do site rodrigoaguas.com, mas não vai conseguir.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; $<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;">fadeOut</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; evento.<span style="color: #660066;">preventDefault</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>Nesse tutorial foram tratados os aspectos básicos do JQuery como importação do arquivo da biblioteca, seletores, alteração de estilo, acrescentar classes, manipulação de eventos e animações. Tratarei de Ajax posteriormente em outro tutorial. Abraços!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rodrigoaguas.com/blog/tutorial-basico-de-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Explorar nichos na web? Será?</title>
		<link>http://www.rodrigoaguas.com/blog/explorar-nichos-na-web-sera/</link>
		<comments>http://www.rodrigoaguas.com/blog/explorar-nichos-na-web-sera/#comments</comments>
		<pubDate>Thu, 15 May 2008 02:47:50 +0000</pubDate>
		<dc:creator>Rodrigo Aguas</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.rodrigoaguas.com/blog/explorar-nichos-na-web-sera/</guid>
		<description><![CDATA[O Google tempos atrás vem inserindo (lentamente) uma nova versão do Gmail, aos poucos os usuários foram recebendo o acesso à ela. Uma das justificativas desse método é que caso algum problema seja encontrado, não terá atingido todos os usuários do serviço, não queimando a imagem da empresa e nem nos prejudicando. Muito interessante.
Mas eu [...]]]></description>
			<content:encoded><![CDATA[<p>O Google tempos atrás vem inserindo (lentamente) uma nova versão do Gmail, aos poucos os usuários foram recebendo o acesso à ela. Uma das justificativas desse método é que caso algum problema seja encontrado, não terá atingido todos os usuários do serviço, não queimando a imagem da empresa e nem nos prejudicando. Muito interessante.</p>
<p>Mas eu não sei se o Google ainda não percebeu ou está ignorando que essa nova versão do Gmail TRAVA o Firefox a todo momento. Seria isso uma falha da Mozilla no desenvolvimento do Firefox? A culpa já foi até posta no Firebug (o próprio Gmail lhe avisa), mas mesmo com o Firebug desabilitado o problema continua.</p>
<p>Mas calma! Basta clicar em &#8220;Versão Mais Antiga&#8221; e utilizaremos o velho e bom Gmail! Mas não se empolgue, essa configuração não fica salva no computador, então toda vez que formos ler emails teremos que clicar no &#8220;Versão Mais Antiga&#8221;. Provavelmente, o Google não deixará tal versão disponível por muito tempo aos usuários, só espero que até lá resolvam o problema do Firefox.</p>
<p>Além disso, os usuários do ainda popular Internet Explorer 6 estão também excluídos da utilização dessa recente atualização. Será que os computadores deles não aguentariam o processamento necessário? É.. acho que o meu também não deve estar aguentando&#8230;</p>
<p>Sendo o Google a empresa símbolo da &#8220;Web 2.0&#8243;, estaria ela dando um passo atrás e focando nas grandes massas? A minoria que fique com o Gmail 1.0 mesmo!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rodrigoaguas.com/blog/explorar-nichos-na-web-sera/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Presente da Nielsen Norman Group: guia de acessibilidade</title>
		<link>http://www.rodrigoaguas.com/blog/presente-da-nielsen-norman-group-guia-de-acessibilidade/</link>
		<comments>http://www.rodrigoaguas.com/blog/presente-da-nielsen-norman-group-guia-de-acessibilidade/#comments</comments>
		<pubDate>Wed, 09 Jan 2008 01:32:50 +0000</pubDate>
		<dc:creator>Rodrigo Aguas</dc:creator>
				<category><![CDATA[Acessibilidade]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.rodrigoaguas.com/blog/presente-da-nielsen-norman-group-guia-de-acessibilidade/</guid>
		<description><![CDATA[A Nielsen Norman Group está disponibilizando gratuitamente um relatório sobre acessibilidade na Web denominado &#8220;Beyond ALT Text: Making the Web Easy to Use for Users With Disabilities&#8221;. O download do mesmo está disponível por tempo indeterminado como presente de final de ano. Nele existe um guia de boas práticas abordando muitos aspectos interessantes da acessibilidade, [...]]]></description>
			<content:encoded><![CDATA[<p>A Nielsen Norman Group está disponibilizando gratuitamente um relatório sobre acessibilidade na Web denominado &#8220;Beyond ALT Text: Making the Web Easy to Use for Users With Disabilities&#8221;. O <a href="http://www.nngroup.com/reports/accessibility/">download</a> do mesmo está disponível por tempo indeterminado como presente de final de ano. Nele existe um guia de boas práticas abordando muitos aspectos interessantes da acessibilidade, além de falar das tecnologias assistivas, leitores de telas e etc. Aproveitem enquanto é free!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rodrigoaguas.com/blog/presente-da-nielsen-norman-group-guia-de-acessibilidade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>As melhores extensões do Firefox para desenvolvedores Web</title>
		<link>http://www.rodrigoaguas.com/blog/as-melhores-extensoes-do-firefox-para-desenvolvedores-web/</link>
		<comments>http://www.rodrigoaguas.com/blog/as-melhores-extensoes-do-firefox-para-desenvolvedores-web/#comments</comments>
		<pubDate>Sat, 01 Dec 2007 21:30:21 +0000</pubDate>
		<dc:creator>Rodrigo Aguas</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.rodrigoaguas.com/blog/as-melhores-extensoes-do-firefox-para-desenvolvedores-web/</guid>
		<description><![CDATA[Nesse artigo indicarei as melhores extensões (ao meu ver) do Firefox para ajudar o trabalho dos desenvolvedores de sites.
Acho muito boa essa abertura que a Mozilla dá aos usuários para desenvolverem novas funcionalidades para o Firefox. O navegador sai ganhando com a conquista de mais usuários e a fidelização dos usuários de certos nichos que [...]]]></description>
			<content:encoded><![CDATA[<p>Nesse artigo indicarei as melhores <a href="https://addons.mozilla.org/en-US/firefox/">extensões</a> (ao meu ver) do <a href="http://www.mozilla.com/en-US/">Firefox</a> para ajudar o trabalho dos desenvolvedores de sites.</p>
<p>Acho muito boa essa abertura que a Mozilla dá aos usuários para desenvolverem novas funcionalidades para o Firefox. O navegador sai ganhando com a conquista de mais usuários e a fidelização dos usuários de certos nichos que as extensões propiciam funcionalidades não aplicáveis a um browser feito para atender o grande público.</p>
<p>Na página de extensões da Mozilla existe uma quantidade enorme de extensões e exatamente por isso resolvi fazer essa seleção das melhores. Então, vamos lá&#8230;</p>
<p>A lista abaixo está em ordem alfabética, não há relação alguma com minhas preferências.</p>
<p><a href="https://addons.mozilla.org/en-US/firefox/addon/271">ColorZilla</a></p>
<p>Adiciona uma ferramenta &#8220;conta-gotas&#8221; na barra de status do Firefox, com ela você descobre o código da cor no ponto em que você apontar o mouse no site.</p>
<p><a href="https://addons.mozilla.org/en-US/firefox/addon/2104">CSSViewer</a></p>
<p>Mostra as regras de CSS aplicadas a um determinado elemento que você aponte com o mouse. Muito útil quando você identifica um comportamento estranho e precisa descobrir o que está ocasionando-o ou por questões de aprendizado para entender como foi feito um certo efeito.</p>
<p><a href="https://addons.mozilla.org/en-US/firefox/addon/1843">Firebug</a></p>
<p>Essa é uma extensão com funcionalidades que eu não consigo entender muito bem, mas uma única que eu entendo me é extremamente útil, o debugger de Javascript. Um ícone na barra de status do Firefox lhe mostra se ocorreu algum erro no Javascript e lhe mostra onde, lhe permitindo ir direto ao erro.</p>
<p><a href="https://addons.mozilla.org/en-US/firefox/addon/684">Fireftp</a></p>
<p>Tem algo mais necessário do que um cliente ftp para quem trabalho com web? Acho que só conhecimento mesmo (filosofei ahuhuahua). Então, adiciona um cliente ftp ao seu Firefox com controle de contas e tudo mais que nós precisamos. Tah bom&#8230; eu prefiro o Filezilla que está sempre no meu pendrive, mas muita gente não troca o Fireftp por nada, então seria injusto não citá-lo.</p>
<p><a href="https://addons.mozilla.org/en-US/firefox/addon/249">HTML Validator</a></p>
<p>Faz a validação do HTML dos sites que são acessados, mostrando warnings e erros, se existirem, acompanhados de explicação e sugestões de como solucionar o problema. Existem nele 3 métodos de validação, o mais rigido é o &#8220;Serial&#8221; e aos que forem mais flexíveis aconselho o &#8220;Tidy&#8221;.</p>
<p><a href="https://addons.mozilla.org/en-US/firefox/addon/1419">IE Tab</a></p>
<p>Permite que o Firefox exiba sites utilizando a engine de renderização do Internet Explorer, servindo para testar a renderização de CSS no IE sem sair do Firefox. Não funciona no linux, já que não pode haver um Internet Explorer instalado.</p>
<p><a href="https://addons.mozilla.org/en-US/firefox/addon/2076">JSView</a></p>
<p>Acrescenta ao menu e à barra de status opções para visualização dos arquivos Javascript e CSS externos, abrindo-os no visualizador de código-fonte do firefox.</p>
<p><a href="https://addons.mozilla.org/en-US/firefox/addon/532">LinkChecker</a></p>
<p>Sendo sincero, nunca utilizei, mas acho a idéia interessante e bastante útil, principalmente naqueles momentos em que você desenvolve algumas páginas correndo e quer ter certeza que não esqueceu de nenhuma. Ah.. a proposta da extensão é verificar os links de uma página atrás de possíveis links quebrados.</p>
<p><a href="https://addons.mozilla.org/en-US/firefox/addon/539">MeasureIt</a></p>
<p>Clicando no ícone que ele acrescenta na barra de status do seu firefox, esta extensão lhe permite medir (em pixels) uma área retangular do site selecionada pelo mouse, lhe informando a largura e a altura separadamente.</p>
<p><a href="https://addons.mozilla.org/en-US/firefox/addon/2250">Page Validator</a></p>
<p>Aos que pensaram que estou colocando duas extensões com o mesmo fim, não, isso vai acontecer logo abaixo, mas nesse caso a HTML Validator não funciona exatamente igual a essa. A primeira faz a validação no seu próprio computador, enquanto esta encaminha uma requisição ao validador da W3C, que pode acusar alguns erros antes não acusados.</p>
<p><a href="https://addons.mozilla.org/en-US/firefox/addon/3408">Save as Image</a> ou o <a href="https://addons.mozilla.org/en-US/firefox/addon/1146">ScreenGrab!</a></p>
<p><a href="https://addons.mozilla.org/en-US/firefox/addon/1146"></a>Basicamente servem para gerar arquivos com a screenshot do site que você estiver acessando. Utilizo para guardar layouts que eu ache interessantes em minha galeria. Infelizmente, eles não se dão muito bem com Flash. Eu não gosto de Flash mesmo. =)</p>
<p><a href="https://addons.mozilla.org/en-US/firefox/addon/60">Web Developer</a></p>
<p>Por irônia do destino, esta extensão está em último, mas como dizem que quem ri por último, ri melhor&#8230; poisé. Minha vida não seria a mesma sem essa extensão. hahuhuhuhua. Ela adiciona uma barra de ferramentas ao Firefox com diversas funcionalidades (muitas mesmo). Então, só vou listar algumas: desabilitar java, javascript, bloqueador de pop-ups, cache, redirecionamentos, CSS e imagens,  limpar cookies e visualizá-los, escolher Media Type do CSS que será carregado, exibir borda, IDs e diversas outras informações nos elementos da página e redimensionar a janela do Firefox para certas resoluções.</p>
<p>É isso pessoal, espero que esse artigo lhes seja útil e quem tiver outras sugestões é só comentar. Agora com as férias (nem tão férias assim) chegando, acho que terei mais tempo de escrever. Abraços!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rodrigoaguas.com/blog/as-melhores-extensoes-do-firefox-para-desenvolvedores-web/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Excluídos do Google Analytics</title>
		<link>http://www.rodrigoaguas.com/blog/excluidos-do-google-analytics/</link>
		<comments>http://www.rodrigoaguas.com/blog/excluidos-do-google-analytics/#comments</comments>
		<pubDate>Sat, 13 Oct 2007 19:36:44 +0000</pubDate>
		<dc:creator>Rodrigo Aguas</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://www.rodrigoaguas.com/blog/excluidos-do-google-analytics/</guid>
		<description><![CDATA[Há tempos atrás, eu e um amigo estavamos voltando da faculdade e ele me perguntou com ar irônico: &#8220;Por que o Google Analytics não diz se os usuários tinham Javascript habilitado?&#8221;. Sem pensar muito, respondi que não sabia e ele riu. Explicando: o Google Analytics usa o Javascript para ser invocado, não é possível um [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.rodrigoaguas.com/blog/wp-content/uploads/2007/10/untitled-2.jpg" alt="untitled-2.jpg" align="right" />Há tempos atrás, eu e <a href="http://www.lgfranco.eti.br/">um amigo</a> estavamos voltando da faculdade e ele me perguntou com ar irônico: &#8220;Por que o Google Analytics não diz se os usuários tinham Javascript habilitado?&#8221;. Sem pensar muito, respondi que não sabia e ele riu. Explicando: o Google Analytics usa o Javascript para ser invocado, não é possível um visitante ser &#8220;detectado&#8221; por ele sem ter o Javascript habilitado. Depois me pareceu óbvio, mas nunca havia pensado nisso.</p>
<p>Falando um pouco sobre o <a href="http://www.google.com/analytics/pt-BR/">Google Analytics</a> para os que não conhecem. Ele é um serviço gratuito oferecido, obviamente, pela Google que permite ter diversas informações e relatórios sobre os visitantes do seu site. Essas informações incluem desde a quantidade de visitas diárias até a resolução de tela ou qual versão do Java (Java mesmo, não Javascript! hehe) estava instalado na máquina dos seus leitores. Para a grande maioria acredito até que tanta informação seja inútil, pois muitos daqueles dados não influenciarão em nada no dia-a-dia do site.</p>
<p>Mas voltando ao javascript e Google Analytics, pensei em mais consequências dessa &#8220;exclusão virtual&#8221; e identifiquei algumas. Se o Analytics precisa do Javascript, é fácil perceber que qualquer acesso a conteúdos estáticos no seu servidor não estará nas estatísticas. Tudo bem, não faz sentido querer saber quantas pessoas acessaram o arquivo de CSS de um site, mas se o site disponibiliza arquivos para download, há muito interesse em saber quantas pessoas estão baixando tais arquivos. Outro problema que eu percebi seria nos acessos aos feeds RSS do site que, cada vez mais populares, não seriam contabilizados pois são arquivos xml.</p>
<p>Não imagino nenhuma solução que resolva o problema continuando a usar o Google Analytics, só pensei em soluções alternativas usando <a href="http://en.wikipedia.org/wiki/MIME#Content-Type">Content-Type</a> e um sistema próprio para coletar os dados e criar as estatísticas. Mas deixarei esse assunto para um artigo futuro.</p>
<p>Será que é possível resolver o problema usando ainda o Google Analytics? Se você tiver alguma idéia, compartilhe nos comentários. Abraços!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rodrigoaguas.com/blog/excluidos-do-google-analytics/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Plugin Viddler para Wordpress e atitude</title>
		<link>http://www.rodrigoaguas.com/blog/plugin-viddler-para-wordpress-e-atitude/</link>
		<comments>http://www.rodrigoaguas.com/blog/plugin-viddler-para-wordpress-e-atitude/#comments</comments>
		<pubDate>Tue, 09 Oct 2007 23:42:08 +0000</pubDate>
		<dc:creator>Rodrigo Aguas</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.rodrigoaguas.com/blog/pluggin-viddler-para-wordpress-e-atitude/</guid>
		<description><![CDATA[Um aspecto interessante da &#8220;blogosfera&#8221; é a iniciativa dos blogueiros. O Claudio fez um plugin para o Viddler baseado no Wordpress Video Plugin. Eu nem mesmo conhecia o Viddler, mas o que achei interessante foi a atitude de não se acomodar não encontrando um plugin compatível e fazer o seu próprio plugin. Essas iniciativas que [...]]]></description>
			<content:encoded><![CDATA[<p>Um aspecto interessante da &#8220;blogosfera&#8221; é a iniciativa dos blogueiros. O Claudio fez um <a href="http://www.clubedoblog.com.br/wordpress-viddler-plugin">plugin para o Viddler baseado no Wordpress Video Plugin</a>. Eu nem mesmo conhecia o <a href="http://www.viddler.com/">Viddler</a>, mas o que achei interessante foi a atitude de não se acomodar não encontrando um plugin compatível e fazer o seu próprio plugin. Essas iniciativas que me incentivam a também tentar contribuir para a comunidade, seja escrevendo, seja fazendo a <a href="http://www.rodrigoaguas.com/blog/traducao-completa-do-wordpress-221-para-o-portugues-do-brasil/">tradução do wordpress para o português</a>.</p>
<p>Um incomum post pequeno. Abraços!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rodrigoaguas.com/blog/plugin-viddler-para-wordpress-e-atitude/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tradução do Wordpress e Plugin para evitar spam</title>
		<link>http://www.rodrigoaguas.com/blog/traducao-do-wordpress-e-plugin-para-evitar-spam/</link>
		<comments>http://www.rodrigoaguas.com/blog/traducao-do-wordpress-e-plugin-para-evitar-spam/#comments</comments>
		<pubDate>Tue, 04 Sep 2007 23:10:48 +0000</pubDate>
		<dc:creator>Rodrigo Aguas</dc:creator>
				<category><![CDATA[Acessibilidade]]></category>
		<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.rodrigoaguas.com/blog/traducao-do-wordpress-e-plugin-para-evitar-spam/</guid>
		<description><![CDATA[Apesar de ainda não ser necessário aqui no meu blog, pois não recebo spam, estou indicando esse plugin para evitar spam nos comentários do wordpress que é muito interessante. Diferentemente de outros plugins que utilizam uma técnica chamada captcha, este faz perguntas muito simples de serem respondidas por pessoas, mas não por máquinas. O que [...]]]></description>
			<content:encoded><![CDATA[<p>Apesar de ainda não ser necessário aqui no meu blog, pois não recebo spam, estou indicando esse <a href="http://www.japs.etc.br/2007/09/como-evitar-spam-de-comentarios-com-codigo-simples-e-acessivel/">plugin para evitar spam nos comentários do wordpress</a> que é muito interessante. Diferentemente de outros plugins que utilizam uma técnica chamada captcha, este faz perguntas muito simples de serem respondidas por pessoas, mas não por máquinas. O que isso tem de bom? Vou explicar. O captcha utilizado nos outros plugins são letras distorcidas misturadas com ruídos (pontos e traços aleatórios) em uma imagem e o usuário tem que identificar quais letras estão ali, mas para cegos isso é impossível. Surgiu então uma solução parecido mas que era por aúdio, algo não muito comum e pouco prático. Esse que indiquei resolve o problema de maneira extremamente simples fazendo perguntas do tipo &#8220;Quanto é 1+2?&#8221;.</p>
<p>Em breve, publicarei mais uma versão dos arquivos traduzidos do Wordpress. Enquanto isso, continuo disponibilizando a <a href="http://www.dcc.ufrj.br/~aguas/wordpress2.2.1_BR-0.1a.zip">primeira tradução</a> e se precisar de orientação leia o <a href="http://www.rodrigoaguas.com/blog/traducao-completa-do-wordpress-221-para-o-portugues-do-brasil/">tópico em que a divulguei</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rodrigoaguas.com/blog/traducao-do-wordpress-e-plugin-para-evitar-spam/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Evolução da Web, mas nada de Web 2.0</title>
		<link>http://www.rodrigoaguas.com/blog/evolucao-da-web-mas-nada-de-web-20/</link>
		<comments>http://www.rodrigoaguas.com/blog/evolucao-da-web-mas-nada-de-web-20/#comments</comments>
		<pubDate>Mon, 03 Sep 2007 23:32:35 +0000</pubDate>
		<dc:creator>Rodrigo Aguas</dc:creator>
				<category><![CDATA[Usabilidade]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.rodrigoaguas.com/blog/evolucao-da-web-mas-nada-de-web-20/</guid>
		<description><![CDATA[Foi lançada uma nova versão da Globo.com. Calma! Não estou dizendo que isso que é a evolução da web, mas esse lançamento mostra uma tendência, o uso de resoluções de tela maiores na grande massa de internautas. Um site desse porte tem um público bastante diversificado e essa nova versão já foi feita considerando que [...]]]></description>
			<content:encoded><![CDATA[<p>Foi lançada uma nova versão da <a href="http://www.globo.com/">Globo.com</a>. Calma! Não estou dizendo que isso que é a evolução da web, mas esse lançamento mostra uma tendência, o uso de resoluções de tela maiores na grande massa de internautas. Um site desse porte tem um público bastante diversificado e essa nova versão já foi feita considerando que o usuário utilize a resolução de tela em 1024&#215;768 pixels. Para que os &#8220;excluídos&#8221; não fiquem em uma situação ruim ao navegar no site, o conteúdo da última coluna da direita, que fica estratégicamente posicionada na faixa entre 800 e 1024 pixels de largura, não é de grande importância.</p>
<p>A escolha de qual resolução seu novo site terá deve ser feita levando em consideração o seu público e nisso quem pode lhe ajudar é o <a href="http://www.google.com/analytics/pt-BR/">Google Analytics</a>. Já existem muitos outros sites que levam em consideração resoluções maiores que os 800&#215;600 convencionais e isso tende a crescer cada vez mais. Assim como um dia existiram os feitos para serem exibidos em 640&#215;480, ou você acha que &#8220;Melhor visualizado em 800&#215;600&#8243; existe a toa? Provavelmente o primeiro site da microsoft (abaixo) nem se preocupava com isso ainda.</p>
<p align="center"><img title="site-microsoft.jpg" src="http://www.rodrigoaguas.com/blog/wp-content/uploads/2007/09/site-microsoft.jpg" alt="site-microsoft.jpg" /></p>
<p>E como podem ver, esse blog perdeu seu visual padrão do Wordpress e ganhou um layout parecido com o do resto do site, ainda em 800&#215;600 mas já é alguma coisa. Não está concluído, mas a falta de tempo impera e como podem perceber há tempos não publicava nada. Até a próxima!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rodrigoaguas.com/blog/evolucao-da-web-mas-nada-de-web-20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nada de música de fundo em site</title>
		<link>http://www.rodrigoaguas.com/blog/nada-de-musica-de-fundo-em-site/</link>
		<comments>http://www.rodrigoaguas.com/blog/nada-de-musica-de-fundo-em-site/#comments</comments>
		<pubDate>Sat, 18 Aug 2007 14:40:44 +0000</pubDate>
		<dc:creator>Rodrigo Aguas</dc:creator>
				<category><![CDATA[Usabilidade]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.rodrigoaguas.com/blog/nada-de-musica-de-fundo-em-site/</guid>
		<description><![CDATA[Não é o meu intuito fazer uma coleção de links interessantes aqui, para isso existe o del.icio.us, mas alguns assuntos interessantes abordados em outros blogs me estimulam a indicá-los a leitura pois mostram pontos de vista parecidos com o meu.
Dessa vez foi sobre colocar música de fundo em sites, o que pode ser um GRANDE [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.rodrigoaguas.com/blog/wp-content/uploads/2007/08/macaco-barulhento.gif" title="Macaco Barulhento" alt="Macaco Barulhento" align="right" />Não é o meu intuito fazer uma coleção de links interessantes aqui, para isso existe o <a href="http://del.icio.us/rodrigoaguas">del.icio.us</a>, mas alguns assuntos interessantes abordados em outros blogs me estimulam a indicá-los a leitura pois mostram pontos de vista parecidos com o meu.</p>
<p>Dessa vez foi <a href="http://fatorw.com/2007/08/17/sites-com-musica-sao-um-desrespeito-ao-usuario/">sobre colocar música de fundo em sites</a>, o que pode ser um GRANDE inconveniente para o usuário. Atualmente, ouvir músicas deve ser a atividade mais popular entre os internautas, principalmente os jovens e esses sites fazem com que o usuário tenha que pausar a música que está ouvindo ou procurar no site pelo botão de &#8220;stop&#8221; (o que nem sempre é possível achar). Outro ponto a ser avaliado é o tempo de carregamento do site, que será extremamente prejudicado, mesmo que depois o usuário queira parar a música inconveniente. Por último, ao acessar a maioria dos sites as pessoas esperam uma resposta visual e não auditiva, essa surpresa pode ser positiva, mas também pode causar o sentimento oposto. Digo a maioria porque ao acessar a <a href="http://lgfranco.eti.br/radio/">rádio web do Lg</a> (olha a propaganda!) as pessoas já não esperam a mesma coisa.</p>
<p>Então, se a música for necessária no site, faça de forma a minimizar os incômodos para o usuário, colocando-a por padrão em modo desligado e indicando-lhe a possibilidade de ligá-la. Até!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rodrigoaguas.com/blog/nada-de-musica-de-fundo-em-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mídia tradicional demonstra incômodo pelo crescimento dos blogs</title>
		<link>http://www.rodrigoaguas.com/blog/midia-tradicional-demonstra-incomodo-pelo-crescimento-dos-blogs/</link>
		<comments>http://www.rodrigoaguas.com/blog/midia-tradicional-demonstra-incomodo-pelo-crescimento-dos-blogs/#comments</comments>
		<pubDate>Tue, 14 Aug 2007 22:03:10 +0000</pubDate>
		<dc:creator>Rodrigo Aguas</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Geral]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.rodrigoaguas.com/blog/midia-tradicional-demonstra-incomodo-pelo-crescimento-dos-blogs/</guid>
		<description><![CDATA[O vídeo abaixo faz parte da campanha publicitária do jornal Estadão atacando a credibilidade das informações divulgadas em blogs. Obviamente, existe muita besteira escrita por blogueiros, mas a generalização feita pelo jornal foi uma das maiores, não digna de um jornal de respeito. Uma melhor análise e outras imagens da campanha podem ser encontradas no [...]]]></description>
			<content:encoded><![CDATA[<p>O vídeo abaixo faz parte da campanha publicitária do jornal Estadão atacando a credibilidade das informações divulgadas em blogs. Obviamente, existe muita besteira escrita por blogueiros, mas a generalização feita pelo jornal foi uma das maiores, não digna de um jornal de respeito. Uma melhor análise e outras imagens da campanha podem ser encontradas no <a href="http://www.revolucao.etc.br/archives/os-blogs-e-a-credibilidade/">artigo do Revolução Etc tratando da credibilidade dos blogs</a>.</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/vTA26q7zlE4&#038;fs=1" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed src="http://www.youtube.com/v/vTA26q7zlE4&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rodrigoaguas.com/blog/midia-tradicional-demonstra-incomodo-pelo-crescimento-dos-blogs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
