Tag Archives: Javascript

JavaScript – Desativando o menu de contexto (botão direito) do navegador

Se tem uma coisa que esse mundo da tecnologia tem de sobra são surpresas. Nunca sabemos quando precisaremos de um determinado recurso.

Em uma necessidade atual, uma das páginas de um website precisava impedir que os usuários acionassem o botão direito no mouse, aquele que ativa um menu com várias opções no navegador. Pois bem, na busca de algumas soluções na Web, a que encontrei e funcionou melhor foi o JavaScript abaixo, que deve ser colocado em algum lugar da página (preferencialmente, mas não obrigatoriamente, no cabeçalho desta):

<script type="text/javascript"><!--
var message="";
function clickIE() {if (document.all) {(message);return false;}}
function clickNS(e) {if 
(document.layers||(document.getElementById&&!document.all)) {
if (e.which==2||e.which==3) {(message);return false;}}}
if (document.layers) 
{document.captureEvents(Event.MOUSEDOWN);document.onmousedown=clickNS;}
else{document.onmouseup=clickNS;document.oncontextmenu=clickIE;}
document.oncontextmenu=new Function("return false")
//--></script>

O código funcionou bem na maioria dos navegadores, já que no código várias considerações sobre estes são feitas. É bom lembrar que este tipo de artimanha funciona bem com usuários básicos. Usuários avançados sabem driblar esse tipo de proteção com algumas ferramentas, plugins, etc.

De qualquer forma, é um “ás na manga” em momentos de aperto.

Bom proveito!

Referências

http://www.htmlhelpcentral.com/messageboard/showthread.php?t=12261

Web – Obtendo o valor de uma QueryString com JavaScript

Mais uma tarefa comum em aplicações Web que acabamos por precisar fazer também no JavaScript.

Obter o valor de uma queryString é trivial em qualquer linguagem server side (ASP, ColdFusion, PHP, etc), mas no JavaScript, não.

Indo atrás de algumas funçôes (existem várias por aí), achei uma que atendeu muito bem:

function queryString(value) 
{
	path = window.location.search.substring(1);
	queryStringValues = path.split("&");
	for (i=0; i < queryStringValues.length; i++) 
	{
		queryStringValue = queryStringValues[i].split("=");
		if (queryStringValue[0] == value) 
		{
			return queryStringValue[1];
		}
	}
}
 
// exemplo de chamada
function getQueryStringTest()
{
	// obtém a queryString do email
	var email = queryString("email");
	if (email != null)
	{
		alert('Valor da queryString: ' + email);
	}
	else
	{
		alert('Ops! Não tem nada aqui');
	}
}

Junto segue uma função de teste para a chamada. Para ver funcionando, basta acessar a página que contém o script no seu navegador com a queryString com o valor do email. Segue abaixo um exemplo funcional:

Sem queryString

http://www.tomasvasquez.com.br/downloads/queryStringTest.htm

Com queryString

http://www.tomasvasquez.com.br/downloads/queryStringTest.htm?email=webmaster@tomasvasquez.com.br

Referências

http://ilovethecode.com/Javascript/Javascript-Tutorials-How_To-Easy/Get_Query_String_Using_Javascript.shtml

Web – Rodando Flash sem o Flash!!

A notícia remete a uma façanha e tanto. Escrito por Chris Smoak, o Smokescreen é um “Flash player escrito em JavaScript”, que pega os objetos em Flash e os converte em JavaScript em tempo real.

Bom, o resultado disso, apesar de parecer pouco significativo, simplesmente dá a qualquer browser a façanha de poder executar animações em Flash sem precisar do famoso Flash Player instalado.

Pode parecer pouca coisa, mas se esta façanha tomar forma, o sonho de independência da plataforma Flash por parte de muitos fabricantes do mercado será realidade, uma vez que é preciso suportar apenas o padrão javascritp, o que qualquer engine de browser já faz. O impacto que a iniciativa traz é descomunal para o desenvolvimento Web e plataformas móveis, que sofrem por não suportar o padrão ou não tê-lo por parte da Adobe.

O Tablet iPad, da Apple é o caso mais recente de “não suporte” oficial e mais importante, não interesse. A Apple já disse não ter pretensões de suportar o Flash em seu novo produto.

Exemplos de animações feitas em Flash e transformadas pelo Smokescreen podem ser vistas no site oficial do autor:

http://smokescreen.us/

O resultado já é bem interessante, apesar de inicial. No browser Chrome, da Google, o desempenho é favorecido pelo motor de javascript.