Muita coisa sobre CSS, HTML, Javascript, Search engine optimization (seo), padrões e web
18 Jan
Tá ok, o título é um pouco sensacionalista. Mas é isso que ele faz se você não tomar um certo cuidado ao usar a função parseInt() com strings numéricas (!?) de dois dígitos, onde o primeiro é o 0.
Quer um exemplo, clique nos links abaixo e você verá o que o Javascript faz ao transformar as strings “05″ e “08″, com a função parseInt(), em números:
E aí, o que percebeu de errado? Se você for esperto, percebeu que a string “08″ se transformou em um número 0. Mas, como pode? Pode porque a função parseInt() considera que strings de números iniciados com “0″ pertencem a base octal e não decimal. O mesmo erro de conversão ocorre também para a string “09″.
Para resolver isso, precisamos passar uma parâmetro indicando que a string de número passada é da base decimal, para que ele faça a conversão correta.
parseInt("08", 10);Você pode indicar outras bases, segundo a W3Schools aceita de 2 a 36.
O dia que uma conta sair errada no Javascript já sabe o que pode ser. Ou você precisa voltar à escola ou forçar a base decimal.
2 Jul
Você tem todo o direto de usar Javascript para criar animações, validar dados ou melhorar a interação com o usuário. Porém, não pode obrigar o usuário a ter o Javascript ativado para acessar seu site.
Criar scripts em Javascript não-obstrutivo é, relativamente, simples.
Mas, o que seria um script não-obstrutivo? Scripts não-obstrutivos são Javascripts que apenas complementam uma determinada ação. Ou seja, se você não estiver com o javascript habilitado, você conseguirá realizar a determinada ação, mas de forma mais direta e menos interativa.
Vamos a um exemplo de script obstrutivo:
<a href="#" onclick="if(confirm('Tem certeza de que deseja sair dessa página?')) window.close();">Sair</a>
Caso o usuário não esteja com o javascript habilitado, o link do código acima não irá realizar nenhuma função, já que o href é apenas uma âncora para o nada.
Para transformar o código acima em um código não-obstrutivo, um simples link resolve o problema:
<a href="http://www.google.com/" onclick="if(confirm('Tem certeza de que deseja sair dessa página?')) window.close();" onkeypress="if(confirm('Tem certeza de que deseja sair dessa página?')) window.close();">Sair</a>
Agora, se o usuário não estiver com o javascript habilitado, ele será redirecionado para o site do Google.
[Atualizado em 20/04/08]
Perceba que, além de colocada o evento onclick, adicionei também o evento onkeypress. Recomenda-se fazer isso para os deficientes visuais, que utilizam o teclado para navegação, ao invés do mouse. O mesmo deve-se fazer para os demais eventos:
Fonte: A Bengala Legal
[/atualizado]
Claro que o exemplo acima é muito simples, mas em sua grande maioria, simples observações como essa já ajudam os usuários - principalmente os deficientes visuais - e robôs de busca.
Uma forma fácil de desenvolver scripts não-obstrutivos é, antes de tudo, fazer seu site rodar 100% sem Javascript. Para isso, esqueça as funções interativas e pense somente no HTML, CSS e alguma outra linguagem server-side, como o PHP, caso venha a ter que usar.
Quando tudo estiver certo, rodando numa boa, você começa a preparar os Javascripts para interagir com o usuário. Após ter criado todas as funções em Javascript, desative ele em seu browser - no Firefox você faz isso em Tools > Options… > Aba Content > Deixar desligado a opção Enable JavaScript facilmente com a extensão Web Developer - e comece a navegar pelo site.
Se você fez bem suas funções, você nem deve perceber que o Javascript está desabilitado, ou seja, você deve conseguir realizar todas as ações disponíveis em seu site - adicionar comentários, navegar pelo menu, ler notícias, enviar e-mail (em formulários de contato) - igualmente antes de criar as funções.
Com a febre do Ajax, muitos sites não permitem que você navegue por eles sem ter o Javascript. Além de ser ruim para os usuários que desejam navegar com ele desativado - seja por segurança, preferência pessoal ou restrições físicas do computador - é ruim também para o site, pois o Google e outros buscadores não conseguirão indexar o site.
Você já tentou acessar o Gmail sem Javascript? Se não, então tente. Você irá se surpreender. Tudo funciona. Não há algumas funcionalidades que a versão com Javascript tem, mas o básico - que é checar e-mail - funciona muito bem.