<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.2" -->
<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/"
	>

<channel>
	<title>Leandro Mercês Xavier &#187; JavaScript</title>
	<link>http://www.leandromerces.org/blog</link>
	<description>Web Standards, Tecnologias Web, Mozilla, Usabilidade e Conteúdo.</description>
	<pubDate>Sat, 07 Jun 2008 01:52:44 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.2</generator>
	<language>en</language>
			<item>
		<title>Javascript orientado a objetos</title>
		<link>http://www.leandromerces.org/blog/2007/05/09/javascript-orientado-a-objetos/</link>
		<comments>http://www.leandromerces.org/blog/2007/05/09/javascript-orientado-a-objetos/#comments</comments>
		<pubDate>Thu, 10 May 2007 00:39:02 +0000</pubDate>
		<dc:creator>Leandro Mercês Xavier</dc:creator>
		
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.leandromerces.org/blog/2007/05/09/javascript-orientado-a-objetos/</guid>
		<description><![CDATA[Para um melhor entendimento deste artigo, é necessário algum conhecimento sobre programação orientada a objetos, existem vários artigos na web e bons livros dedicados ao assunto. Tomemos como exemplo de objeto, um ventilador. Ao olharmos para este objeto, podemos identificá-lo dentre outros eletrodomésticos pelas suas características. Outros ventiladores podem apresentar características idênticas, porém são objetos [...]]]></description>
			<content:encoded><![CDATA[<p>Para um melhor entendimento deste artigo, é necessário algum conhecimento sobre programação orientada a objetos, existem vários artigos na web e bons livros dedicados ao assunto. Tomemos como exemplo de objeto, um ventilador. Ao olharmos para este objeto, podemos identificá-lo dentre outros eletrodomésticos pelas suas características. Outros ventiladores podem apresentar características idênticas, porém são objetos distintos. Um ventilador pode estar desligado ou ligado em algumas velocidades. Detalhes de sua estrutura ficam ocultos internamente, pois não precisamos conhecê-los para fazer uso do mesmo.</p>
<p>Javascript difere-se de linguagens clássicas orientadas a objeto como Java e C++ principalmente por não possuir uma definição formal de classe. Entretanto possui seu próprio tipo de herança baseada em protótipo e faz uso constante de objetos baseando-se nesse tipo de herança.<br />
 <a href="http://www.leandromerces.org/blog/2007/05/09/javascript-orientado-a-objetos/#more-30" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.leandromerces.org/blog/2007/05/09/javascript-orientado-a-objetos/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Usando privilégios expandidos em navegadores Mozilla</title>
		<link>http://www.leandromerces.org/blog/2006/11/16/usando-privilegios-expandidos-em-navegadores-mozilla/</link>
		<comments>http://www.leandromerces.org/blog/2006/11/16/usando-privilegios-expandidos-em-navegadores-mozilla/#comments</comments>
		<pubDate>Thu, 16 Nov 2006 13:09:03 +0000</pubDate>
		<dc:creator>Leandro Mercês Xavier</dc:creator>
		
		<category><![CDATA[Firefox]]></category>

		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[Mozilla]]></category>

		<category><![CDATA[Tecnologias Web]]></category>

		<guid isPermaLink="false">http://www.leandromerces.org/blog/2006/11/16/usando-privilegios-expandidos-em-navegadores-mozilla/</guid>
		<description><![CDATA[Navegadores Mozilla dispõem de funções para segurança em Javascript similares às usadas para segurança em Java e Javascript no Netscape Communicator 4.x.
Em casos mais simples, o código pede permissão para habilitar o privilégio que possibilita o acesso ao alvo através de scripts. Por exemplo:

netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");

//ou: 

netscape.security.PrivilegeManager.enablePrivilege("UniversalPreferencesRead UniversalFileRead");

Quando este método é invocado, se a assinatura for válida [...]]]></description>
			<content:encoded><![CDATA[<p>Navegadores Mozilla dispõem de funções para segurança em Javascript similares às usadas para segurança em Java e Javascript no Netscape Communicator 4.x.</p>
<p>Em casos mais simples, o código pede permissão para habilitar o privilégio que possibilita o acesso ao alvo através de scripts. Por exemplo:</p>
<pre class="javascript"><code>
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");

//ou: 

netscape.security.PrivilegeManager.enablePrivilege("UniversalPreferencesRead UniversalFileRead");
</code></pre>
<p>Quando este método é invocado, se a assinatura for válida (caso seja um script assinado) ou codebase principal esteja habilitado, os privilégios expandidos são concedidos. Caso o acesso não seja por meio de uma destas formas, por exemplo, utilizando um arquivo local através da url file://, será exibida uma caixa de diálogo perguntando se o usuário permite que o script use estes privilégios e também se deseja memorizar esta decisão. Note que no segundo exemplo o script solicita dois privilégios, porém exibe apenas uma caixa de diálogo descrevendo-os.</p>
<p>Os privilégios são concedidos apenas no escopo da função que os solicitou. Este escopo inclui as funções chamadas por esta função. Quando a função termina, os privilégios não são mais aplicáveis.<br />
 <a href="http://www.leandromerces.org/blog/2006/11/16/usando-privilegios-expandidos-em-navegadores-mozilla/#more-22" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.leandromerces.org/blog/2006/11/16/usando-privilegios-expandidos-em-navegadores-mozilla/feed/</wfw:commentRss>
		</item>
		<item>
		<title>LMXHttpGet</title>
		<link>http://www.leandromerces.org/blog/2006/08/24/lmxhttpget/</link>
		<comments>http://www.leandromerces.org/blog/2006/08/24/lmxhttpget/#comments</comments>
		<pubDate>Thu, 24 Aug 2006 07:27:07 +0000</pubDate>
		<dc:creator>Leandro Mercês Xavier</dc:creator>
		
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.leandromerces.org/blog/2006/08/24/lmxhttpget/</guid>
		<description><![CDATA[LMXHttpGet é um objeto que desenvolvi para facilitar a troca de informações entre páginas através de variáveis utilizando Javascript. Fornece propriedades e métodos para manipular variáveis enviadas para a página atual através do método HTTP GET.
Propriedades:

length = Específica o número de variáveis enviadas ao objeto.

Métodos:

getVar(varName) = Retorna o valor da variável especificada em varName.
getVars() = [...]]]></description>
			<content:encoded><![CDATA[<p>LMXHttpGet é um objeto que desenvolvi para facilitar a troca de informações entre páginas através de variáveis utilizando Javascript. Fornece propriedades e métodos para manipular variáveis enviadas para a página atual através do método HTTP GET.</p>
<p><strong>Propriedades:</strong></p>
<ul>
<li><strong>length</strong> = Específica o número de variáveis enviadas ao objeto.</li>
</ul>
<p><strong>Métodos:</strong></p>
<ul>
<li><strong>getVar</strong>(<em>varName</em>) = Retorna o valor da variável especificada em <em>varName</em>.</li>
<li><strong>getVars</strong>() = Retorna um array contendo todas as variáveis e seus respectivos valores.</li>
</ul>
<p>Todas as propriedades e métodos do objeto LMXHttpGet são estáticos. Por exemplo, você deve acessar a propriedade length como LMXHttpGet.length e o método getVars como LMXHttpGet.getVars().</p>
<p>Vou demonstrar um exemplo simplório em que enviamos valores que definirão a cor de fundo (background-color) e a cor do texto (color) de uma página que será aberta através de um hyperlink.</p>
<p>O hyperlink que abre a página gettest.htm enviando as variáveis <em>backColor</em> e <em>color</em>:</p>
<pre><code>
&lt;a href="./gettest.htm?backColor=rgb(102, 136, 170)&#038;color=rgb(0, 255, 102)"&gt;Teste LMXHttpGet&lt;/a&gt;
</code></pre>
<p>O código javascript da página gettest.htm:</p>
<pre class="javascript"><code>
window.onload = function() {
    if (LMXHttpGet) {
        var getVars = LMXHttpGet.getVars(); // Retorna um array com as variáveis
        if (LMXHttpGet.length == 2) {
            // Verifica se as variáveis foram passadas
            with (document.getElementsByTagName("body").item(0).style) {
            backgroundColor = getVars["backColor"];
            // Utilizando o array
            color = LMXHttpGet.getVar("color");
            // Utilizando o método getVar()
            }
        }
    }
}
</code></pre>
<p>O script está disponível sob a <a href="http://www.opensource.org/licenses/mit-license.php">licença MIT</a> em <a href="http://leandromerces.org/javascript/lmx/LMXHttpGet/LMXHttpGet.js">http://leandromerces.org/javascript/lmx/LMXHttpGet/LMXHttpGet.js</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.leandromerces.org/blog/2006/08/24/lmxhttpget/feed/</wfw:commentRss>
		</item>
		<item>
		<title>lmxSyntaxHighlight</title>
		<link>http://www.leandromerces.org/blog/2006/08/09/lmxsyntaxhighlight/</link>
		<comments>http://www.leandromerces.org/blog/2006/08/09/lmxsyntaxhighlight/#comments</comments>
		<pubDate>Wed, 09 Aug 2006 19:06:21 +0000</pubDate>
		<dc:creator>Leandro Mercês Xavier</dc:creator>
		
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.leandromerces.org/blog/2006/08/09/lmxsyntaxhighlight/</guid>
		<description><![CDATA[Desenvolvi uma função que destaca código javascript utilizando expressões regulares e DOM. Na versão atual (1.0) realiza a formatação apenas em navegadores Gecko/20060414 (como Mozilla 1.7.13) ou superior. Nos demais navegadores não altera o código original.
O uso é bem simples, basta adicionar o conteúdo do script na marcação como no exemplo abaixo:

&#60;pre class="javascript"&#62;&#60;code&#62;
//aqui vem o [...]]]></description>
			<content:encoded><![CDATA[<p>Desenvolvi uma função que destaca código javascript utilizando expressões regulares e DOM. Na versão atual (1.0) realiza a formatação apenas em navegadores Gecko/20060414 (como Mozilla 1.7.13) ou superior. Nos demais navegadores não altera o código original.<br />
O uso é bem simples, basta adicionar o conteúdo do script na marcação como no exemplo abaixo:</p>
<pre><code>
&lt;pre class="javascript"&gt;&lt;code&gt;
//aqui vem o código javascript
&lt;/code&gt;&lt;/pre&gt;
</code></pre>
<p>Feito isso chame a função. Abaixo um exemplo que a chama ao carregar a página:</p>
<pre class="javascript"><code>
window.onload = lmxSyntaxHighlight;

// Esta caixa é um exemplo de uso da função.

</code></pre>
<p>O script está disponível sob a <a href="http://www.opensource.org/licenses/mit-license.php">licença MIT</a> em <a href="http://leandromerces.org/javascript/lmx/lmxSyntaxHighlight/lmxSyntaxHighlight.js">http://leandromerces.org/javascript/lmx/lmxSyntaxHighlight/lmxSyntaxHighlight.js</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.leandromerces.org/blog/2006/08/09/lmxsyntaxhighlight/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Novidades sobre Firefox 2</title>
		<link>http://www.leandromerces.org/blog/2006/07/03/novidades-sobre-firefox-2/</link>
		<comments>http://www.leandromerces.org/blog/2006/07/03/novidades-sobre-firefox-2/#comments</comments>
		<pubDate>Mon, 03 Jul 2006 04:11:00 +0000</pubDate>
		<dc:creator>Leandro Mercês Xavier</dc:creator>
		
		<category><![CDATA[Firefox]]></category>

		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.leandromerces.org/blog/2006/07/03/novidades-sobre-firefox-2/</guid>
		<description><![CDATA[Firefox 2 tem seu lançamento previsto para o segundo semestre de 2006 e conta com várias melhorias e novos recursos para desenvolvedores e usuários finais, incluindo Javascript 1.7 e pesquisa aprimorada.
Para conhecer detalhes visite:

Firefox 2 para desenvolvedores no MDC.
Novidades das versões 2.0 (para usuários finais) no br.mozdev.

]]></description>
			<content:encoded><![CDATA[<p>Firefox 2 tem seu lançamento previsto para o segundo semestre de 2006 e conta com várias melhorias e novos recursos para desenvolvedores e usuários finais, incluindo Javascript 1.7 e pesquisa aprimorada.</p>
<p>Para conhecer detalhes visite:</p>
<ul>
<li><a href="http://developer.mozilla.org/pt/docs/Firefox_2_para_desenvolvedores">Firefox 2 para desenvolvedores</a> no MDC.</li>
<li><a href="http://br.mozdev.org/noticias/2.0.html">Novidades das versões 2.0</a> (para usuários finais) no br.mozdev.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.leandromerces.org/blog/2006/07/03/novidades-sobre-firefox-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>JavaScript 2 e o futuro da web</title>
		<link>http://www.leandromerces.org/blog/2006/05/26/javascript-2-e-o-futuro-da-web/</link>
		<comments>http://www.leandromerces.org/blog/2006/05/26/javascript-2-e-o-futuro-da-web/#comments</comments>
		<pubDate>Fri, 26 May 2006 04:00:00 +0000</pubDate>
		<dc:creator>Leandro Mercês Xavier</dc:creator>
		
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.leandromerces.org/blog/2006/05/26/javascript-2-e-o-futuro-da-web/</guid>
		<description><![CDATA[Javascript 2 será finalizada em 2007. Para ajudar à migração, um compilador open source JS2 para JS está sendo desenvolvido, fazendo da JS2 uma realidade em 2006. O trabalho neste compilador e nas características novas de JS2 é apresentado pelo criador da Javascript, Brendan Eich, na XTech 2006.
Os slides de Brendan Eich na XTech 2006 [...]]]></description>
			<content:encoded><![CDATA[<p>Javascript 2 será finalizada em 2007. Para ajudar à migração, um compilador open source JS2 para JS está sendo desenvolvido, fazendo da JS2 uma realidade em 2006. O trabalho neste compilador e nas características novas de JS2 é apresentado pelo criador da Javascript, Brendan Eich, na <a href="http://xtech06.usefulinc.com/">XTech 2006</a>.</p>
<p>Os slides de Brendan Eich na XTech 2006 estão dispiníveis no <a href="http://developer.mozilla.org/pt/">Mozilla Developer Center</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leandromerces.org/blog/2006/05/26/javascript-2-e-o-futuro-da-web/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
