by Luiz Paulo
| agosto 18, 2009
| 1 Comment »
Provavelmente todos os developers já viram a extensão auto instalável do Skype que detecta números de telefone e modifica para um formato próprio "facilitando" ligações.
Pois bem, essa extensão é um verdadeiro pé no saco, pois acaba danificando o layout do site e as vezes cortar o número do telefone no layout.
Um cliente meu perguntou se havia alguma solução para resolver esse problema... Procurei e achei, rsrs.
Para os indignados com tal problema, segue aí a solução:
<meta name="skype_toolbar" content="skype_toolbar_parser_compatible" />
Essa metatag faz com que o plugin "ignore" o seu site, impedindo que ele modifique sua página.
Simples assim.
Categorias: Browser, Desenvolvimento web, HTML
Tags: , Browser, firefox, pegadinha, skype
by Luiz Paulo
| agosto 17, 2009
| No Comments »
Acabei de ler no blog Nome do Jogo do Carlos Brando um artigo que merece destaque.
O post fala sobre algumas falhas do Javascript. Umas delas eu já havia comentado aqui no blog Javascript – Pegadinha no parseInt(), mas ele foi bem mais a fundo nas pegadinhas, hehe.
Não vou republicar o conteúdo para te forçar a entrar no blog dele: Isto é um bug no Javascript?.
Leiam também os comentários, pois estão bem ricos.
Carlos Parabéns pelo post!
Categorias: Desenvolvimento web, JavaScript, Tecnologia
Tags: , javascript, pegadinha
by Luiz Paulo
| junho 13, 2009
| 2 Comments »
Já estamos cansados de saber que javascript é totalmente dinâmico e podemos mudar facilmente o tipo das variáveis.
Uma das facilidades em javascript é a conversão de variáveis em inteiro, com a função parseInt().
Só que essa função tem uma pegadinha que pode atrapalhar bastante aos desatentos.
Sua sintaxe é bem simples como segue:
var number = "123456348965";
var integerNumber = parseInt(number);
alert(integerNumber); //123456348965
Nesse caso, tranquilo! Nenhum problema. Mas se, por exemplo, quisermos converter uma string "010" teremos problemas.
Veja o exemplo:
var number = "010";
var integerNumber = parseInt(number);
alert(integerNumber); //8
Isso acontece pois o número é automaticamente detectado como Octal.
Para resolver esse problema, a função parseInt pode receber 2 parâmetros.
parseInt(string, radix)
Onde:
string = String a ser transformada
radix = Numeral que você quer se basear (de 2 a 36)
Veja então como fica a solução para este problema:
var number = "010";
var integerNumber = parseInt(number, 10); //10 = base decimal
alert(integerNumber); //10
Pegadinha desvendada e problema resolvido!
Categorias: Desenvolvimento web, JavaScript, Linguagens
Tags: , code, javascript, pegadinha