<?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>PRSoluções &#187; Javascript</title>
	<atom:link href="http://www.prsolucoes.com/blog/category/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.prsolucoes.com/blog</link>
	<description>Soluções Inteligentes</description>
	<lastBuildDate>Wed, 01 Feb 2012 03:59:57 +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>Plugin para criação de menu dropdrown com jQuery</title>
		<link>http://www.prsolucoes.com/blog/javascript/plugin-para-criacao-de-menu-dropdrown-com-jquery/</link>
		<comments>http://www.prsolucoes.com/blog/javascript/plugin-para-criacao-de-menu-dropdrown-com-jquery/#comments</comments>
		<pubDate>Thu, 17 Mar 2011 17:24:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.prsolucoes.com/blog/?p=756</guid>
		<description><![CDATA[&#160; Olá, Recentemente criei um plugin para o jQuery que cria um menu dropdown apartir de um elemento e um evento associado. Por exemplo, você pode fazer o menu aparecer ao clicar sobre um botão ou ao clicar duas vezes sobre uma imagem. O funcionamento é bem simples e já vem com um estilo padrão [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-757" title="jquery-logo.thumbnail" src="http://www.prsolucoes.com/blog/wp-content/uploads/2011/03/jquery-logo.thumbnail.gif" alt="" width="128" height="128" /></p>
<p>&nbsp;</p>
<p>Olá,</p>
<p>Recentemente criei um plugin para o jQuery que cria um menu dropdown apartir de um elemento e um evento associado.</p>
<p>Por exemplo, você pode fazer o menu aparecer ao clicar sobre um botão ou ao clicar duas vezes sobre uma imagem.</p>
<p>O funcionamento é bem simples e já vem com um estilo padrão bem elegante.</p>
<p>Testei nos navegadores:</p>
<p>FF 3, Chrome 10, IE9, IE8, Opera 10.</p>
<p>&nbsp;</p>
<p>Demo:</p>
<p><a href="http://www.prsolucoes.com/dropDownMenu" target="_blank">http://www.prsolucoes.com/dropDownMenu</a></p>
<p>&nbsp;</p>
<p>Download:</p>
<p><a href="http://www.prsolucoes.com/dropDownMenu/dropDownMenu.zip" target="_blank">http://www.prsolucoes.com/dropDownMenu/dropDownMenu.zip</a></p>
<p>&nbsp;</p>
<p>Imagem:</p>
<p><a href="http://www.prsolucoes.com/blog/wp-content/uploads/2011/03/menu_drop_down.png"><img class="alignnone size-full wp-image-758" title="menu_drop_down" src="http://www.prsolucoes.com/blog/wp-content/uploads/2011/03/menu_drop_down.png" alt="" width="212" height="201" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.prsolucoes.com/blog/javascript/plugin-para-criacao-de-menu-dropdrown-com-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Obter e alterar conteúdo do FCKEditor</title>
		<link>http://www.prsolucoes.com/blog/javascript/obter-e-alterar-conteudo-do-fckeditor/</link>
		<comments>http://www.prsolucoes.com/blog/javascript/obter-e-alterar-conteudo-do-fckeditor/#comments</comments>
		<pubDate>Thu, 10 Mar 2011 19:30:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[conteúdo]]></category>
		<category><![CDATA[fckeditor]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://www.prsolucoes.com/blog/?p=743</guid>
		<description><![CDATA[&#160; Olá, Hoje vou deixar uma dica interessante para quem usa o FCKEditor. As vezes precisamos pegar ou editar o texto do editor, mas o problema é que fica tudo dentro de um IFRAME, e fazer tudo manualmente é bem complexo. Pensando nisso no FCKEditor existe uma API de acesso às funcionalidades do editor, e [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-749" title="FCKEditor" src="http://www.prsolucoes.com/blog/wp-content/uploads/2011/03/1299785701_accessories-text-editor.png" alt="" width="128" height="128" /></p>
<p>&nbsp;</p>
<p>Olá,</p>
<p>Hoje vou deixar uma dica interessante para quem usa o FCKEditor.</p>
<p>As vezes precisamos pegar ou editar o texto do editor, mas o problema é que fica tudo dentro de um IFRAME, e fazer tudo manualmente é bem complexo.</p>
<p>Pensando nisso no FCKEditor existe uma API de acesso às funcionalidades do editor, e duas delas são exatamente estas, obter e alterar o conteúdo HTML.</p>
<p>Para obter o conteúdo do editor precisamos usar a seguinte função em javascript:</p>
<blockquote><p>var editor = FCKeditorAPI.GetInstance(&#8216;<strong><span style="color: #ff0000;">ID_DO_FCK_CRIADO</span></strong>&#8216;);<br />
conteudo = editor.GetHTML();<br />
alert(conteudo);</p></blockquote>
<p>&nbsp;</p>
<p><a href="http://www.prsolucoes.com/blog/wp-content/uploads/2011/03/fck_1.png"><img class="alignnone size-medium wp-image-746" title="fck_1" src="http://www.prsolucoes.com/blog/wp-content/uploads/2011/03/fck_1-300x150.png" alt="" width="300" height="150" /></a></p>
<p>&nbsp;</p>
<p>Para alterar o conteúdo do editor precisamos usar a seguinte função em javascript:</p>
<blockquote><p>var editor = FCKeditorAPI.GetInstance(&#8216;<strong><span style="color: #ff0000;">ID_DO_FCK_CRIADO</span></strong>&#8216;);<br />
editor.SetHTML(&#8216;<strong>mudei o conteúdo</strong>&#8216;);</p></blockquote>
<p>&nbsp;</p>
<p><a href="http://www.prsolucoes.com/blog/wp-content/uploads/2011/03/fck_2.png"><img class="alignnone size-medium wp-image-748" title="fck_2" src="http://www.prsolucoes.com/blog/wp-content/uploads/2011/03/fck_2-300x176.png" alt="" width="300" height="176" /></a></p>
<p>&nbsp;</p>
<p>Obs: Você deve trocar o texto <strong><span style="color: #ff0000;">ID_DO_FCK_CRIADO</span></strong>, para o <strong><span style="color: #ff0000;">ID </span></strong>usado quando você criou o FCKEditor em sua página.</p>
<p>&nbsp;</p>
<p>Um abraço a todos,</p>
<p>Fiquem com Deus.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prsolucoes.com/blog/javascript/obter-e-alterar-conteudo-do-fckeditor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usando o sistema de notificações do WebKit com o Chrome</title>
		<link>http://www.prsolucoes.com/blog/javascript/usando-o-sistema-de-notificacoes-do-webkit-com-o-chrome/</link>
		<comments>http://www.prsolucoes.com/blog/javascript/usando-o-sistema-de-notificacoes-do-webkit-com-o-chrome/#comments</comments>
		<pubDate>Fri, 11 Feb 2011 12:29:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[notifications]]></category>

		<guid isPermaLink="false">http://www.prsolucoes.com/blog/?p=714</guid>
		<description><![CDATA[Olá, Não sei se já perceberam, mas no Gmail existe um recurso de notificações, que só funciona no Google Chrome. Essas notificações aparecem quando você recebe um novo email, por exemplo. Estas notificações não foram inventadas exclusivamente para o Google Chrome, na verdade é um padrão W3C que está sendo implementado aos poucos nos navegadores, mas somente [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-715" title="Fam-Logo-Chrome-of-Google" src="http://www.prsolucoes.com/blog/wp-content/uploads/2011/02/Fam-Logo-Chrome-of-Google.jpg" alt="" width="300" height="300" /></p>
<p>Olá,</p>
<p>Não sei se já perceberam, mas no Gmail existe um recurso de notificações, que só funciona no Google Chrome.</p>
<p>Essas notificações aparecem quando você recebe um novo email, por exemplo.</p>
<p>Estas notificações não foram inventadas exclusivamente para o Google Chrome, na verdade é um padrão W3C que está sendo implementado aos poucos nos navegadores, mas somente no Chrome já está funcionando.</p>
<p>Referência: <a href="http://dev.w3.org/2006/webapi/WebNotifications/publish/Notifications.html" target="_blank">http://dev.w3.org/2006/webapi/WebNotifications/publish/Notifications.html</a></p>
<p>Mas como podemos usufruir deste recurso em nossos websites?</p>
<p>É bem simples, usando obviamente javascript, temos acesso a tudo. Os passos básicos são:</p>
<blockquote><p>1 &#8211; Verificar se o navegador tem suporte</p>
<p>2 &#8211; Pedir permissão para exibir notificações</p>
<p>3 &#8211; Exibir as notificações</p></blockquote>
<p>Vamos ao que interessa, o código:</p>
<blockquote><p>function verificarSuporte()<br />
{</p>
<p style="padding-left: 30px;">var c = ( window.webkitNotifications !== undefined );</p>
<p style="padding-left: 30px;">if ( !c )<br />
{</p>
<p style="padding-left: 60px;">alert(&#8220;Seu navegador não suporta notificações desktop. Por favor, use o Google Chrome!&#8221;);</p>
<p style="padding-left: 30px;">}</p>
<p style="padding-left: 30px;">return c;</p>
<p>}</p></blockquote>
<p>Esta função é a que verifica se o seu navegador tem suporte a notificações desktop ou não. Se o navegador não suportar, a função exibe um alert.</p>
<blockquote>
<div id="_mcePaste">function verificarPermissao()</div>
<div id="_mcePaste">{</div>
<div id="_mcePaste" style="padding-left: 30px;">if ( !verificarSuporte() ) return;</div>
<div id="_mcePaste" style="padding-left: 30px;">switch ( webkitNotifications.checkPermission() )</div>
<div id="_mcePaste" style="padding-left: 30px;">{</div>
<div id="_mcePaste" style="padding-left: 60px;">case 0: // PERMITIDO</div>
<div id="_mcePaste" style="padding-left: 90px;">alert( &#8220;Permitido&#8221; );</div>
<div id="_mcePaste" style="padding-left: 60px;">break;</div>
<div id="_mcePaste" style="padding-left: 60px;">case 1: // NÃO PERMITIDO</div>
<div id="_mcePaste" style="padding-left: 90px;">alert( &#8220;Não permitido&#8221; );</div>
<div id="_mcePaste" style="padding-left: 60px;">break;</div>
<div style="padding-left: 60px;">case 2: // PERMISSÃO NEGADA</div>
<div id="_mcePaste" style="padding-left: 90px;">alert( &#8220;Permissão negada&#8221; );</div>
<div id="_mcePaste" style="padding-left: 60px;">break;</div>
<div id="_mcePaste" style="padding-left: 30px;">}</div>
<div id="_mcePaste">}</div>
</blockquote>
<p>Esta função é a que verifica a permissão de exibir as notificações que seu navegador definiu para a sua página. Para cada caso de permissão, é exibido um alert com a descrição.</p>
<blockquote><p>function solicitarPermissao()</p>
<p>{</p>
<p style="padding-left: 30px;">if ( !verificarSuporte() ) return;</p>
<p style="padding-left: 30px;">webkitNotifications.requestPermission();</p>
<p>}</p></blockquote>
<p>Esta função que solicita ao navegador a permissão de exibir as notificações. Assim que ela é chamada, o navegador exibe uma caixa de confirmação.</p>
<blockquote><p>function testeDeNotificacao()</p>
<p>{</p>
<p style="padding-left: 30px;">if ( !verificarSuporte() ) return;</p>
<p style="padding-left: 30px;">if ( webkitNotifications.checkPermission() == 0 )</p>
<p style="padding-left: 30px;">{</p>
<p style="padding-left: 60px;"><span style="white-space: pre;"> </span>var icone = &#8220;http://www.prsolucoes.com/downloads/logo_notificacao.png&#8221;;</p>
<p style="padding-left: 60px;"><span style="white-space: pre;"> </span>var titulo = &#8220;Mensagem de PRSoluções&#8221;;</p>
<p style="padding-left: 60px;"><span style="white-space: pre;"> </span>var subTitulo = &#8220;Eu irei desaparecer em 10 segundos!&#8221;;</p>
<p style="padding-left: 60px;"><span style="white-space: pre;"> </span>var notificacao = webkitNotifications.createNotification( icone, titulo, subTitulo );</p>
<p style="padding-left: 60px;"><span style="white-space: pre;"> </span>notificacao.show();</p>
<p style="padding-left: 60px;"><span style="white-space: pre;"> </span>setTimeout( function() { notificacao.cancel() }, 10000 );</p>
<p style="padding-left: 30px;"><span style="white-space: pre;"> </span>}</p>
<p style="padding-left: 30px;"><span style="white-space: pre;"> </span>else</p>
<p style="padding-left: 30px;"><span style="white-space: pre;"> </span>{</p>
<p style="padding-left: 60px;"><span style="white-space: pre;"> </span>alert( &#8220;Por favor, solicite permissão primeiro.&#8221; );</p>
<p style="padding-left: 30px;"><span style="white-space: pre;"> </span>}</p>
<p>}</p></blockquote>
<p>Esta função exibe a notificação em si. É bem simples, basta passar a url do icone, o título e o sub-título.</p>
<p><img class="alignnone size-full wp-image-730" title="notificacao" src="http://www.prsolucoes.com/blog/wp-content/uploads/2011/02/notificacao.png" alt="" width="315" height="99" /></p>
<p>Para ver um demo destas funcionalidades, acesse:</p>
<p><a href="http://www.prsolucoes.com/notificacao/" target="_blank">http://www.prsolucoes.com/notificacao/</a></p>
<p>Até a próxima.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prsolucoes.com/blog/javascript/usando-o-sistema-de-notificacoes-do-webkit-com-o-chrome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como buscar elements em jQuery por ID que contenha um ponto no nome</title>
		<link>http://www.prsolucoes.com/blog/javascript/como-buscar-elements-em-jquery-por-id-que-contenha-um-ponto-no-nome/</link>
		<comments>http://www.prsolucoes.com/blog/javascript/como-buscar-elements-em-jquery-por-id-que-contenha-um-ponto-no-nome/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 16:50:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[Wicket]]></category>

		<guid isPermaLink="false">http://www.prsolucoes.com/blog/?p=599</guid>
		<description><![CDATA[Olá, Recentemente tive a necessidade de trocar todo o código javascript que estava usando prototype para jquery, porém surgiu o seguinte problema, todos os elementos que eu precisava buscar pelo ID tinha um ponto (.) no ID, por exemplo: &#60;input type=&#8221;text&#8221; id=&#8221;individualCustomer.name&#8221; value=&#8221;" /&#62; Mas se você usar o jquery da forma normal para pegar [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-600" title="jquery-logo" src="http://www.prsolucoes.com/blog/wp-content/uploads/2010/07/jquery-logo.gif" alt="" width="168" height="146" /></p>
<p>Olá,</p>
<p>Recentemente tive a necessidade de trocar todo o código javascript que estava usando prototype para jquery, porém surgiu o seguinte problema, todos os elementos que eu precisava buscar pelo ID tinha um ponto <strong><span style="color: #ff0000;">(.)</span></strong> no ID, por exemplo:</p>
<blockquote><p>&lt;input type=&#8221;text&#8221; id=&#8221;individualCustomer.name&#8221; value=&#8221;" /&gt;</p></blockquote>
<p>Mas se você usar o jquery da forma normal para pegar este elemento pelo ID, você não vai conseguir, algo como:</p>
<blockquote><p>&lt;script type=&#8221;text/javascript&#8221;&gt;</p>
<p>alert($(&#8216;individualCustomer.name&#8217;).val());</p>
<p>&lt;/script&gt;</p></blockquote>
<p>Isso porque no jquery pensa que o que está depois do ponto, e uma classe <strong><span style="color: #ff0000;">(class)</span></strong>.</p>
<p>Então como resolver?</p>
<p>Após vários testes, descobri a seguinte solução:</p>
<blockquote><p>&lt;script type=&#8221;text/javascript&#8221;&gt;</p>
<p>alert($(&#8216;individualCustomer\\.name&#8217;).val());</p>
<p>&lt;/script&gt;</p></blockquote>
<p>O que mudou? Bastou colocar duas barras antes do ponto, assim: <strong><span style="color: #ff0000;">&#8220;\\.&#8221;</span></strong></p>
<p>Com isso você faz um escape da barra e deixa pro jquery trocar o que sobrar, que será <strong><span style="color: #ff0000;">&#8220;\.&#8221;<span style="color: #000000;">,</span></span></strong> pelo próprio ponto.</p>
<p>Bem simples a solução, mas não tinha encontrada nada sobre isso no Google, e quase refatorei todo o código, mas o problema é que o próprio framework Wicket do Java, adiciona o ponto no namespace quando um componente faz parte de uma hierarquia, como uma caixa de texto de um form.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prsolucoes.com/blog/javascript/como-buscar-elements-em-jquery-por-id-que-contenha-um-ponto-no-nome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lançado novo framework para front-end web</title>
		<link>http://www.prsolucoes.com/blog/javascript/lancado-novo-framework-para-front-end-web/</link>
		<comments>http://www.prsolucoes.com/blog/javascript/lancado-novo-framework-para-front-end-web/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 20:52:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[easy framework]]></category>

		<guid isPermaLink="false">http://www.prsolucoes.com/blog/?p=531</guid>
		<description><![CDATA[Olá, Hoje recebi uma indicação muito interessante, trata-se do framework para front-end, ou seja, para a parte cliente do seu projeto web, ou em outras palavras, html+css+javascript. O nome do framework é EasyFramework, e como o próprio nome diz, é bem fácil de usar, você adiciona apenas alguns arquivos(css e js) no header da sua [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://easyframework.com/images/bg_logo.gif" alt="http://easyframework.com/images/bg_logo.gif" /></p>
<p>Olá,</p>
<p>Hoje recebi uma indicação muito interessante, trata-se do framework para front-end, ou seja, para a parte cliente do seu projeto web, ou em outras palavras, html+css+javascript.</p>
<p>O nome do framework é EasyFramework, e como o próprio nome diz, é bem fácil de usar, você adiciona apenas alguns arquivos(css e js) no header da sua página e está tudo pronto.</p>
<p>Ele é dividido em 3 camadas: estrutural, apresentação e interatividade, o que nos da mais um ponto, a organização.</p>
<p>Ele é bem útil pois supre todos os estilos e scripts básicos que usamos em nossas aplicações web, sem precisar ficar pegando pedaços de outros frameworks que existem por ai.</p>
<p>Este é um framework que vale a pena adotar, eu achei excelente e com certeza em novos projetos a PRSoluções já adotará ele.</p>
<p>Ah, ele usa jquery, mais um ponto positivo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prsolucoes.com/blog/javascript/lancado-novo-framework-para-front-end-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bloqueando o Firebug no seu site</title>
		<link>http://www.prsolucoes.com/blog/javascript/bloqueando-o-firebug-no-seu-site/</link>
		<comments>http://www.prsolucoes.com/blog/javascript/bloqueando-o-firebug-no-seu-site/#comments</comments>
		<pubDate>Tue, 19 May 2009 01:46:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[bloquear firebug]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.prsolucoes.com/blog/?p=185</guid>
		<description><![CDATA[Olá, Vou mostrar uma técnica para bloquear o Firebug no seu site. Para quem não conhece: https://addons.mozilla.org/pt-BR/firefox/addon/1843 Segue a dica: &#60;script type=&#8221;text/javascript&#8221;&#62; if( window.console &#38;&#38; window.console.firebug ){ alert(&#8220;Desculpe, este site não suporta o Firebug!&#8221;); window.location=&#8217;/sem_firebug.html&#8217;; } &#60;/script&#62; Bem simples né? Apenas um scriptzinho. Abraços e até a próxima.]]></description>
			<content:encoded><![CDATA[<p>Olá,</p>
<p>Vou mostrar uma técnica para bloquear o Firebug no seu site.</p>
<p>Para quem não conhece: <a href="https://addons.mozilla.org/pt-BR/firefox/addon/1843" target="_blank">https://addons.mozilla.org/pt-BR/firefox/addon/1843</a></p>
<p>Segue a dica:</p>
<blockquote><p><span style="color: #000000;"><span style="color: #008080;">&lt;script type=&#8221;text/javascript&#8221;&gt;</span><br />
if( window.console &amp;&amp; window.console.firebug  )<span style="color: #000099;">{</span><br />
alert(&#8220;Desculpe, este site não suporta o Firebug!&#8221;);<br />
window.location=&#8217;/sem_firebug.html&#8217;;<br />
<span style="color: #000099;">}</span><br />
<span style="color: #008080;">&lt;/script&gt;</span></span></p></blockquote>
<p>Bem simples né? Apenas um scriptzinho.</p>
<p>Abraços e até a próxima.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prsolucoes.com/blog/javascript/bloqueando-o-firebug-no-seu-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

