Esta é uma versão arquivada/estática do antigo Blog do André. Isso significa que todo o conteúdo aqui presente não irá ser atualizado, e pode conter erros. Algumas funcionalidades poderão não estar disponíveis nesta versão arquivada.
17
Ago 2011

Página do Zoo de Lisboa recusa o Firefox

Nos dias que correm, existem muitos navegadores alternativos. Entre os mais conhecidos, temos o Internet Explorer, Firefox, Chrome, Opera, Safari, … Cada um pode escolher o que mais lhe convém. Infelizmente, existem webmasters que insistem em tornar os seus websites válidos ou funcionais para um único navegador, (provavelmente o que “melhor” funciona, ou talvez apenas o da sua preferência…).

A página do Zoo de Lisboa é um bom exemplo disso. Se visitarmos o site usando o Firefox, em vez de abrir a página inicial, abre-nos uma simples página a dizer que estão “a adaptar o site do Jardim Zoológico de Lisboa a outros browsers que não o Internet Explorer”. No entanto, este “bloqueio” apenas  é feito na página inicial, pois ainda é possível visitar as outras página, se acedermos diretamente pelo seu endereço. Esta manobra é feita com um simples código javascript:

if(navigator.userAgent.indexOf("Firefox") != -1)
{
window.location = "http://www.zoo.pt/bloqueio.html";
}

Daqui também descobrimos que apenas o Firefox é barrado, porque noutros browsers que não contenham Firefox no seu nome (ou user-agent para ser exato) conseguem aceder à página inicial. Também posso concluir que só existem o Internet Explorer e o Firefox, segundo os autores da página do zoo…

Mas será que o site fica visivelmente mal estruturado, a ponto de comprometer seriamente a usabilidade da páginas noutros navegadores? Vamos ver:

Página funcional no IE

Página funcional também no Firefox

Aqui não parece estar mal… Assim como nas outras páginas semelhantes que visitei… Mas espera, o que é isto?

Menu de topo funcional no IE

Menu de topo com problemas de apresentação no Firefox

Ah, o problema deve ser o menu. Sendo assim, existem algumas diferenças. Mas já visitei tantos websites com menus deslizantes no Firefox, e nenhum deu problemas. Como será feito este menu? Dando uma olhadela ao código fonte da página, vemos que se trata de um menu feito com recurso a javascript. Nada de muito mau até aqui. O problema é que o código aparenta ter, pelo menos, 10 anos! Ainda não houve preocupação em atualizar este código, ou melhor ainda, substituir por outro mais universal que suporte vários navegadores, ou apenas com recurso a CSS?

Isto leva-me a pensar: porque é que os websites têm a legenda “optimizado para navegador X”? Por vezes não é tarefa fácil fazer websites que tenham um aspeto idêntico nos diversos navegadores, mas por algum motivo existem especificações, e quando as alternativas parecem faltar, existem imensas bibliotecas ou hacks em Javascript para corrigir situações pontuais.

Devia-se acabar com esta etiqueta no fundo das páginas. Não me parece que “optimizado para X” seja uma justificação para barrar o acesso a um website com um navegador que “não seja suportado”. Existem padrões/normas da web sólidas (algumas delas, porém, ainda em fase de planeamento) que permitem aos webdesigners criar páginas que sejam suportadas pela maioria dos navegadores: basta mudar o método de trabalho, e com um pouco mais de esforço, conseguem-se websites funcionais, independentemente do navegador do utilizador.

Gostou deste artigo?

Facebook Twitter Google Plus Delicious

4 Comentários

 

  • Gravatar de António Pedro Cunha

    António Pedro Cunha

    30/08/2011 @ 17:21

    Pois, infelizmente o browser-sniffing é algo de prevalência ainda muito elevada, especialmente em sites portugueses de grande tráfego (o que é contra-intuitivo, de qualquer modo).

    Mesmo assim, arranja correcção para o tal menu e envia-lhes isso por email. Pode ser que haja um pingo de decência e corrijam o site.
    Por acaso não tenho aqui o IE para experimentar, mas com o Opera 11.5 (em Debian) o menu também não funciona, apesar de não se verificar bloqueio do browser.

    Nota: inspeccionando o log do Opera vi que o site utiliza o “coolmenu”, o tal código com 10 anos que referiste, e o qual é conhecido por dar problemas (daí ser reconhecido pelo Opera, que corrige esse script em todas as páginas que o tenham).

    “Optimizado para browser X” = “não sei fazer páginas web, mas esta dá bem no browser X”

    • Gravatar de André

      André

      2/09/2011 @ 09:25

      António, antes de mais, bem-vindo!

      Não é o primeiro site, e infelizmente não será o último, que restringe a utilização de um ou mais navegadores específicos. Não sabia dessa particularidade do Opera corrigir scripts que são conhecidos por darem problemas, é de facto interessante. Mas a iniciativa deveria partir dos webdevelopers, ou nalguns casos, as pessoas/editores que fazem as páginas.

      Quanto ao código, eu ainda tinha a ideia de ver o que estava mal, mas devido à idade do código e de recorrer demasiado a Javacsript, nem olhei mais. Acho que a solução mais correta é usar uma combinação de CSS (formatação de elementos ul e li) + Javascript (usando alguma framework para tentar garantir a compatibilidade entre browsers para o efeito deslizante do menu).

      Muito obrigado pela opinião!

  • Gravatar de Scorch

    Scorch

    3/09/2011 @ 15:39

    É realmente pena que ainda existam páginas dessas. Ainda por mais quem fez esse site provavelmente recebeu (e não deve ter sido pouco) pelo serviço. É normal que às vezes, hajam coisas que difiram nos vários browsers (são cada vez menos), mas qualquer pessoa com uma experiência mínima em desenvolvimento Web pode corrigir sem bloquear determinados browsers. Na maioria das vezes, são pessoas que se aproveitam, pedem um valor elevado, e fazem uma coisinha qualquer a seguir uns tutoriais no Googe, se perceberam patavina do que estão a fazer. :/

    • Gravatar de André

      André

      7/09/2011 @ 13:06

      Eu quero acreditar que neste caso tenha sido falta de atenção, porque o código é bastante antigo, e pode ter permanecido “porque funciona” (com o sentido “just works!”).

      Bloquear não é, de todo, a solução. Estão a excluir uma parte dos visitantes, por exemplo, quem apenas use Firefox em Linux (embora seja facilmente quebrada essa barreira com alguns conhecimentos de Javascript).

      Obrigado pela opinião Scorch!