<?xml version="1.0" encoding="iso-8859-1"?>
<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>Logon.com.pt &#187; Javascipt &amp; DOM Scripting</title>
	<atom:link href="http://logon.com.pt/category/webdesign/javascipt-dom-scripting/feed/" rel="self" type="application/rss+xml" />
	<link>http://logon.com.pt</link>
	<description>Notas breves</description>
	<lastBuildDate>Wed, 14 Dec 2011 10:52:36 +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>jQuery Ui Ui</title>
		<link>http://logon.com.pt/2007/09/18/jquery-ui-ui/</link>
		<comments>http://logon.com.pt/2007/09/18/jquery-ui-ui/#comments</comments>
		<pubDate>Tue, 18 Sep 2007 13:01:41 +0000</pubDate>
		<dc:creator>Josï¿½ Carlos</dc:creator>
				<category><![CDATA[Javascipt & DOM Scripting]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Webdesign]]></category>

		<guid isPermaLink="false">http://logon.com.pt/2007/09/18/jquery-ui-ui/</guid>
		<description><![CDATA[<p>Se era boa, ficou ainda melhor.<br />
Falo é claro da <a href="http://jquery.com" title="jQuery: The Write Less, Do More, JavaScript Library">jQuery</a>, uma biblioteca javascript multi-facetada que ganhou agora uma <acronym title="User Interface">UI</acronym> que lhe permite adiccionar novas funcionalidades, ou facilitar algumas já existentes.</p>
<p>O melhor é ver, vale a pena, aqui <a href="http://ui.jquery.com/" title="jQuery UI: Widgets, Components, and Interactions">jQuery UI: Widgets, Components, and Interactions</a>.</p>
]]></description>
		<wfw:commentRss>http://logon.com.pt/2007/09/18/jquery-ui-ui/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XRAY e Microformats Bookmarklets</title>
		<link>http://logon.com.pt/2007/08/02/xray-e-microformats-bookmarklets/</link>
		<comments>http://logon.com.pt/2007/08/02/xray-e-microformats-bookmarklets/#comments</comments>
		<pubDate>Thu, 02 Aug 2007 14:23:34 +0000</pubDate>
		<dc:creator>Josï¿½ Carlos</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascipt & DOM Scripting]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Webdesign]]></category>

		<guid isPermaLink="false">http://logon.com.pt/2007/08/02/xray-e-microformats-bookmarklets/</guid>
		<description><![CDATA[<p>A <a href="http://westciv.com/">Westciv</a> disponibilizou um pequeno, mas muito prático, <a href="http://en.wikipedia.org/wiki/Bookmarklet" title="Wikipédia - Bookmarklet">bookmarklet</a> que permite &#8220;espreitar&#8221; os estilos e formatações aplicadas aos elementos de uma página.</p>
<p>Sim, já se pode fazer o mesmo com o <a href="https://addons.mozilla.org/en-US/firefox/addon/1843">Firebug</a>, aqui a novidade reside no facto de o poder fazer em qualquer browser &#8220;baseado&#8221; no Mozilla ou no Safari. Para já não funciona no Internet Explorer.</p>
<p><img src="http://logon.com.pt/blog-images/xraybookmarklet.png" width="396" alt="XRAY bookmarklet image" /></p>
<p>As intruções são simples, basta ir a <a href="http://westciv.com/xray/">http://westciv.com/xray/</a> e arrastar o <a href="http://westciv.com/xray/">XRAY</a> para a a barra dos bookmarks. Depois, é visitar qualquer página, clicar no XRAY e clicar no elemento que queremos &#8220;espreitar&#8221; e temos um <acronym title="Document Objecct Model">DOM</acronym> Inspector disponivel.</p>
<p>Numa onda de bookmarklets, há um muito útil que permite a <a href="http://leftlogic.com/lounge/articles/microformats_bookmarklet">visualização e exportação de microformatos</a>. Foi criado para o Safari, já que o Firefox tem as extensões <a href="https://addons.mozilla.org/firefox/2240/">Tails</a> e <a href="https://addons.mozilla.org/en-US/firefox/addon/4106">Operator</a>. Apesar disso funciona no FIrefox também.</p>
<p>O processo de instalação é o mesmo do XRAY, bastando arrastar o link para a barra de bookmarks. O bookmarklet e as instruções estão disponíveis no site da <a href="http://leftlogic.com/lounge/articles/microformats_bookmarklet">Left Logic</a>.</p>
<p><img src="http://logon.com.pt/blog-images/mfbookmarklet.png" width="396" alt="Microformats bookmarklet" /></p>
]]></description>
		<wfw:commentRss>http://logon.com.pt/2007/08/02/xray-e-microformats-bookmarklets/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>jQuery 1.1.3 &#8211; ainda mais rápida</title>
		<link>http://logon.com.pt/2007/07/03/jquery-113-ainda-mais-rapida/</link>
		<comments>http://logon.com.pt/2007/07/03/jquery-113-ainda-mais-rapida/#comments</comments>
		<pubDate>Tue, 03 Jul 2007 16:34:30 +0000</pubDate>
		<dc:creator>Josï¿½ Carlos</dc:creator>
				<category><![CDATA[Javascipt & DOM Scripting]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://logon.com.pt/2007/07/03/jquery-113-ainda-mais-rapida/</guid>
		<description><![CDATA[<p>Já saiu a <a href="http://jquery.com/blog/2007/07/01/jquery-113-800-faster-still-20kb/">versão 1.1.3</a> da <a href="http://jquery.com/" title="Visitar o site">jQuery</a>, um das bibliotecas javascript mais populares.<br />
Entre as novidades contam-se novos selectores, melhoramentos nas animações, normalizaçãde eventos e, acima de tudo, uma maior rapidez. Segundo so testes por eles efectuados há uma melhoria, em média, de 800% comparando com a versão anterior.</p>
<p>O tamanho, 20Kb, a simplicidade de uso e agora este aumento de velocidade de execução tornam ainda mais apetecível a  opção por esta biblioteca javascript.</p>
<p>Se não conhecem aconselho uma visita ao <a href="http://jquery.com/" title="Visitar o site">site</a> e à <a href="http://docs.jquery.com/Main_Page" title="Visitar o site">documentação</a>.</p>
]]></description>
		<wfw:commentRss>http://logon.com.pt/2007/07/03/jquery-113-ainda-mais-rapida/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ajax &#8211; a lista definitiva</title>
		<link>http://logon.com.pt/2007/06/20/ajax-a-lista-definitiva/</link>
		<comments>http://logon.com.pt/2007/06/20/ajax-a-lista-definitiva/#comments</comments>
		<pubDate>Wed, 20 Jun 2007 14:10:08 +0000</pubDate>
		<dc:creator>Josï¿½ Carlos</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascipt & DOM Scripting]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Webdesign]]></category>

		<guid isPermaLink="false">http://logon.com.pt/2007/06/20/ajax-a-lista-definitiva/</guid>
		<description><![CDATA[<p>A <a href="http://www.smashingmagazine.com" title="Visitar o site">Smashing Magazine</a> publicou mais uma excelente lista. Desta vez intitulada: <a href="http://www.smashingmagazine.com/2007/06/20/ajax-javascript-solutions-for-professional-coding/" title="ver artigo original">80+ AJAX-Solutions For Professional Coding</a>. São mais de 90 técnicas úteis que se devem ter à mão ao desenvolver soluções que utilizem estas tecnologias tão em voga (<acronym title="Em Inglês: Asynchronous JavaScript and XML">AJAX</acronym>).</p>
<p>Há auto-completers, edição inline, menus, tabs, calendários, há dicas sobre <acronym title="Em Inglês: Cascading Style Sheets">CSS</acronym>, formulários, tabelas, galerias, etc.. Facilmente encontrará aquilo que procura dada a quantidade e qualidade da oferta.</p>
<p>Vão ver <a href="http://www.smashingmagazine.com/2007/06/20/ajax-javascript-solutions-for-professional-coding/">80+ AJAX-Solutions For Professional Coding</a>.</p>
]]></description>
		<wfw:commentRss>http://logon.com.pt/2007/06/20/ajax-a-lista-definitiva/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tabelas de dados com Ajax, DHTML e Javascript</title>
		<link>http://logon.com.pt/2007/05/30/tabelas-de-dados-com-ajax-dhtml-e-javascript/</link>
		<comments>http://logon.com.pt/2007/05/30/tabelas-de-dados-com-ajax-dhtml-e-javascript/#comments</comments>
		<pubDate>Wed, 30 May 2007 15:09:03 +0000</pubDate>
		<dc:creator>Josï¿½ Carlos</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascipt & DOM Scripting]]></category>
		<category><![CDATA[Webdesign]]></category>

		<guid isPermaLink="false">http://logon.com.pt/2007/05/30/tabelas-de-dados-com-ajax-dhtml-e-javascript/</guid>
		<description><![CDATA[<p>Se precisa de criar tabelas de dados com funcionalidades avançadas, como edição inline e ordenação, a <a href="http://www.smashingmagazine.com" >Smashing Magazine</a> publicou uma lista que vai concerteza solucionar muito problemas. Chama-se <a href="http://www.smashingmagazine.com/2007/05/30/tables-and-data-grids-with-ajax-dhtml-javascript/" title="Ver artigo original">Data Grids with AJAX, DHTML and JavaScript</a>.</p>
]]></description>
		<wfw:commentRss>http://logon.com.pt/2007/05/30/tabelas-de-dados-com-ajax-dhtml-e-javascript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tabelas &#8220;às riscas&#8221; II &#8211; DOM Scripting / jQuery</title>
		<link>http://logon.com.pt/2007/04/26/tabelas-as-riscas-ii-dom-scripting-jquery/</link>
		<comments>http://logon.com.pt/2007/04/26/tabelas-as-riscas-ii-dom-scripting-jquery/#comments</comments>
		<pubDate>Thu, 26 Apr 2007 13:14:22 +0000</pubDate>
		<dc:creator>Josï¿½ Carlos</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascipt & DOM Scripting]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Webdesign]]></category>

		<guid isPermaLink="false">http://logon.com.pt/2007/04/26/tabelas-as-riscas-ii-dom-scripting-jquery/</guid>
		<description><![CDATA[<p>Esta é a conclusão do anterior <a href="http://logon.com.pt/2007/04/17/tabelas-as-riscas-parte1/" title="ver primeira parte">Tabelas &#8220;às riscas&#8221; I &#8211; HTML/PHP</a>.</p>
<p>Para quem não leu, o resultado que se pretende alcançar é este:</p>
<p><a href="http://www.flickr.com/photos/jjoaquim/457725050/" title="Photo Sharing"><img src="http://farm1.static.flickr.com/188/457725050_db1a0fec28_o.jpg" alt="Tabela " height="245" width="391" /></a></p>
<p><a href="http://logon.com.pt/2007/04/17/tabelas-as-riscas-parte1/" title="ver post anterior">No post anterior</a> falei em duas formas de alternar a cor de fundo das linhas de uma tabela de dados. A primeira, manualmente, atribuindo a class <em>.odd</em> às linhas ímpares, directamente no código <acronym title="HyerText Markup Language">HTML</acronym>. Como esta solução se torna mais difícil à medida que o número de linhas vai aumentando, utilizei a versão <acronym title="Hypertext Preprocessor">PHP</acronym> para obter o mesmo resultado, automaticamente, e com menor probabilidade da ocorrência de erros.</p>
<p>Neste artigo vamos utilizar os mesmos ficheiros base:</p>
<ul>
<li><a href="http://logon.com.pt/diversos/tabelas/tabela.html" title="ver tabela original">tabela.html</a> &#8211; o link para o artigo original leva à primeira parte e não a este post.</li>
<li><a href="http://logon.com.pt/diversos/tabelas/tabelas-styles.css" title="ver ficheiro css">tabela-styles.css</a></li>
</ul>
<p>A diferença é que vamos utilizar <a href="http://en.wikipedia.org/wiki/DOM_Scripting" title="entrada na Wikipédia">DOM Scripting</a> e a <a href="http://jquery.com" title="visitar jQuery.com">jQuery</a> para obter o mesmo resultado.</p>
<p><!--more--></p>
<h3>DOM Scripting</h3>
<p>O DOM, Document Object Model, especifica os elementos de um documento (<acronym title="HyperText Markup Language">HTML</acronym>, <acronym title="eXtensible Markup Language">XML</acronym>, etc.) e as ligações entre eles. O <acronym title="Document Object Model">DOM</acronym> define os atributos de cada objecto e a forma como os mesmos podem ser manipulados. Vamos utilizar Javscript para manipular estes objectos e respectivos atributos. Voltaremos à definição de <acronym title="Document Object Model">DOM</acronym> noutro post.</p>
<p>O que precisamos de fazer é:</p>
<ul>
<li>Certificar-nos que o método <em>getElementsByTagName</em> existe (se não existir, não faz nada, mas também não dá erro;</li>
<li>Obter todos os elementos <em>tabela (table)</em> do documento;</li>
<li>Para cada tabela, criar uma variável, boleana, <em>odd</em> com um estado de falso;</li>
<li>Iterar por todos as linhas da tabela;</li>
<li>Se o estado da variável <em>odd</em> for falso, não aplicar nenhum estilo, mas alterar o estado da variável para verdadeiro;</li>
</ul>
<p>Para podermos utilizar a função sempre que quisermos e para que ela não seja executada sem que a página estaja toda carregada, podendo originar erros, vamos criar uma função chamada <em>stripes()</em>.</p>
<p><code>function stripes() {<br />
if (!document.getElementsByTagName) return false;<br />
var tables = document.getElementsByTagName("table");<br />
for (var i=0; i<br />
&lt;tables.length;&gt;&lt;/tables.length;&gt;var odd = false;<br />
var rows = tables[i].getElementsByTagName("tr");<br />
for (var j=0; j&lt;rows.length;&gt;<br />
if (odd == true) {<br />
rows[j].className = "odd";<br />
odd = false;<br />
} else {<br />
odd = true;<br />
}<br />
}<br />
}<br />
}&lt;/rows.length;&gt;</code><br />
Agora que temos a função pronta, só precisamos de a executar. Para isso utilizamos o evento <em>window.onload</em> que garante que o código dentro dele só é executado quando o documento estiver totalmetne carregado, evitando alguns erros. Ficará assim:<br />
<code>window.onload = function() {<br />
stripes();<br />
}</code><br />
Finalmente, basta guardar o código acima num ficheiro <em>stripes-dom.js</em> (escolham o nome que quiserem claro) e chamá-lo no cabeçalho da página da seguinte forma:<br />
<code>&lt;script src="stripes-dom.js" type="text/javascript"&gt;&lt;/script&gt;</code><br />
<a href="http://logon.com.pt/diversos/tabelas/tabela-dom.html" title="Resultado final">Ver resultado utlizando DOM Scripting</a>.<br />
Assim temos o resultado pretendido, sem adiccionar código nenhum à tabela (o que nem sempre é possível). Caso o utilizador tenha o javascript desactivado, o efeito perde-se, ficando a tabela sem nenhuma alteração, mas igualmente legível.</p>
<h3>jQuery</h3>
<p>Obter o mesmo efeito utilizando a <a href="http://jquery.com" title="Visitar o site">jQuery</a> &#8211; uma biblioteca javascript &#8211; é extremamente simples.<br />
Primeiro, fazemos o <a href="http://docs.jquery.com/Downloading_jQuery" title="Site para download da jQuery">download da jQuery</a>; depois, &#8220;chamamos&#8221; o ficheiro na nossa página:<br />
<code>&lt;script src="jquery-latest.pack.js" type="text/javascript"&gt;&lt;/script&gt;</code><br />
Temos agora à disposição um sem fim de recursos que <a href="http://jquery.com" title="Visitar o site">jQuery</a> disponibiliza. Vamos utilizar um deles para obter todas as tabelas do documento, depois, para cada tabela, aplicar a class <em>odd</em> às linhas ímpares.<br />
Se, e só neste caso, o nosso documento tiver uma tabela podemos utilizar:<br />
<code>$("tr:odd").addClass("odd");</code><br />
O que a linha anterior faz é obter todas as linhas (tr) ímpares de todas as tabelas e atribuir-lhe a class <em>odd</em>. Convém utilizar esta forma apenas em documentos com uma única tabela, pois, por exemplo, se a primeira tabela tiver 7 linhas, a linha que vai ser alterada na tabela seguinte é a segunda, já que ele conta todas as linhas, não fazendo distinção em que tabela estas se encontram.<br />
Para que o resultado seja o desejado teremos de utilizar:<br />
<code>$("tr:nth-child(odd)").addClass("odd");</code><br />
A linha anterior usa a pseudo-class, <a href="http://www.w3.org/TR/2005/WD-css3-selectors-20051215/#nth-child-pseudo" title="Ver definição - W3C">nth-child</a>, que permite manipular as linhas de uma dada tabela, podendo aceitar argumentos como <em>odd</em> e <em>even</em>, que, respectivamente correspondem a linhas ímpares e pares. Para mais propriedades, vejam a <a href="http://www.w3.org/TR/2005/WD-css3-selectors-20051215/#nth-child-pseudo" title="Ver definição - W3C">especificação do W3C</a>.<br />
Agora só precisamos de fazer com que a função seja chamada quando o documento é carregado. Da seguinte forma:<br />
<code>$(document).ready(function() {<br />
$("tr:nth-child(odd)").addClass("odd");<br />
});</code><br />
Basta guardar estas linhas num ficheiro, por exemplo <em>stripe-jquery.js</em> e incluir na nossa página a linha correspondente:<br />
<code>&lt;script src="stripe-jquery.js" type="text/javascript"&gt;&lt;/script&gt;</code><br />
E está feito. Mais rápido, mais simples e com bastante menos linhas que os restantes métodos.<br />
<a href="http://logon.com.pt/diversos/tabelas/tabela-jquery.html" title="Veja o resultado">Ver resultado com jQuery</a>.</p>
<h4>Conclusão</h4>
<p>Cada um dos quatro métodos referidos, apesar do mesmo objectivo, tem aplicações diferentes. Os dois primeiros, HTML e PHP+HTML, funcionam quando se tem acesso à criação do nosso alvo, as tabelas, e julgo serem os mais utilizados. Os dois últimos, DOM Scripting e jQuery, funcionam quando não se pode modificar os dados-alvo, as tabelas, mas falham quando o utilizador desactivou o javascript no seu browser. De referir que, caso as folhas de estilo (<acronym title="Em Inglês: Cascading Style Sheets">CSS</acronym>) estejam desactivadas, qualquer um destes métodos falha.</p>
<p>Brevemente vou voltar a utilizar esta última tabela com outros objectivos. A idéia já cá está, falta escrever.</p>
]]></description>
		<wfw:commentRss>http://logon.com.pt/2007/04/26/tabelas-as-riscas-ii-dom-scripting-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>C&#243;digo nos posts e syntax Highlighting</title>
		<link>http://logon.com.pt/2007/04/12/cdigo-nos-posts-e-syntax-highlighting/</link>
		<comments>http://logon.com.pt/2007/04/12/cdigo-nos-posts-e-syntax-highlighting/#comments</comments>
		<pubDate>Thu, 12 Apr 2007 09:12:56 +0000</pubDate>
		<dc:creator>Josï¿½ Carlos</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascipt & DOM Scripting]]></category>
		<category><![CDATA[Webdesign]]></category>

		<guid isPermaLink="false">http://logon.com.pt/2007/04/12/cdigo-nos-posts-e-syntax-highlighting/</guid>
		<description><![CDATA[<p>Depois de, sem sucesso, procurar plugins para o <a href="http://wordpress.org/" title="Wordpress.org">wordpress</a> (<a href="http://codex.wordpress.org/Plugins" title="Plugins WordPress Codex">aqui</a> e <a href="http://wp-plugins.net/" title="Wordpress Plugin Database">aqui</a>), que &#8220;colorissem&#8221; o c&#243;digo inserido nos posts,  resolvi deitar m&#227;os &#224; obra.<br />
Eis o que pretendia:</p>
<ul>
<li>Inserir c&#243;digo (qualquer linguagem) nos posts sem que o mesmo seja executado;</li>
<li>&#8220;Colorir&#8221; o c&#243;digo (<a href="http://en.wikipedia.org/wiki/Syntax_highlighting" title="entrada na Wikip&#233;dia">syntax highlight</a>);</li>
<li>N&#227;o adicionar elementos desnecess&#225;rios ao c&#243;digo <acronym title="Em Ingl&#234;s: HyperText Markup Language">HTML</acronym> da p&#225;gina apenas para motivos visuais;</li>
</ul>
<p>O &#250;ltimo ponto foi um factor de exclus&#227;o para a maioria dos plugins que encontrei. Acabei por utilizar o <a href="http://www.thunderguy.com/semicolon/2006/02/05/code-markup-wordpress-plugin-version-11/" title="visitar o site">Code Markup</a> que permite a inser&#231;&#227;o de c&#243;digo nos posts sem que este seja executado. O primeiro ponto estava ultrapassado.</p>
<p>Depois, precisava de colorir o c&#243;digo. Quase todos os plugins que encontrei utilizavam o <a href="http://qbnz.com/highlighter/" title="visitar o site">GeSHi</a> que real&#231;a c&#243;digo fonte (<a href="http://en.wikipedia.org/wiki/Syntax_highlighting" title="entrada na Wikip&#233;dia">syntax highlight</a>) atribuindo cores aos diversos componentes. Funciona com um grande n&#250;mero de linguagens, mas acrescenta elementos visuais &#224; p&#225;gina e isso levou-me a n&#227;o o utilizar. Virei-me ent&#227;o para uma solu&#231;&#227;o com javascript.</p>
<p>Encontrei, no <a href="http://code.google.com/" title="visitar o site">Google Code</a>, o <a href="http://code.google.com/p/google-code-prettify/" title="Google Code Prettify">google-code-prettify</a> que tem o mesmo efeito que os plugins que encontrei e n&#227;o acrescenta elementos desnecess&#225;rios ao c&#243;digo da p&#225;gina. Vencedor encontrado.<br />
Socorrendo-me da fant&#225;stica <a href="http://jquery.com" title="visitar o site">jQuery</a> criei um ficheiro javascript com o seguinte conte&#250;do:<br />
<code>$(document).ready(function() {<br />
	 $("code").each(function(i){<br />
	   this.className = "prettyprint";<br />
	 });<br />
	prettyPrint();<br />
});</code><br />
ao qual acrescentei o c&#243;digo do <a href="http://code.google.com/p/google-code-prettify/" title="Google Code Prettify">google-code-prettify</a> para evitar a inclus&#227;o de ainda mais um ficheiro. De notar que, na sua forma inicial, o <a href="http://code.google.com/p/google-code-prettify/" title="Google Code Prettify">google-code-prettify</a> sugere que se invoque a fun&#231;&#227;o <em>prettyPrint();</em> da seguinte maneira:<br />
<code>&lt;body onload="prettyPrint()"&gt;</code><br />
Chamado de <em>inline events</em> este m&#233;todo deve ser evitado, de forma a uma maior separa&#231;&#227;o entre o conte&#250;do, a apresenta&#231;&#227;o e a din&#226;mica das p&#225;ginas.</p>
<p>O c&#243;digo faz o seguinte:</p>
<ol>
<li>assim que o documento esteja dispon&#237;vel, selecciona todas as tags <em>code</em> que n&#227;o tenha a class <em>plain</em>;</li>
<li>em cada um dos elementos seleccionados anteriormente atribui a class <em>prettyprint</em>, que &#233; usada como alvo pelo <a href="http://code.google.com/p/google-code-prettify/" title="Google Code Prettify">google-code-prettify</a>;</li>
<li>depois de todos os elementos <em>code</em> correspondentes terem a class <em>prettyprint</em>  atribu&#237;da, executa a fun&#231;&#227;o <em>prettyPrint();</em> que vai alterar a cores do texto dentro dessas mesmas tags;</li>
</ol>
<p>Bastou adicionar o ficheiro criado ao cabe&#231;alho (head) da p&#225;gina, assim:<br />
<code>&lt;script type="text/javascript" src="jquery.js"&gt;&lt;/script&gt;<br />
&lt;script type="text/javascript" src="highlight.js"&gt;&lt;/script&gt;</code></p>
<p>E pronto, est&#225; a funcionar.</p>
<p>Caso o utilizador n&#227;o tenha o javascript activo o efeito perde-se. &#201; verdade, mas evita o adicionar  de elementos com fins visuais, que era precisamente aquilo que pretendia.<br />
Podem ver exemplos desta funcionalidade nas entradas de c&#243;digo neste post.</p>
]]></description>
		<wfw:commentRss>http://logon.com.pt/2007/04/12/cdigo-nos-posts-e-syntax-highlighting/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.223 seconds -->

