Agora eu realmente odeio o IE. Será que é um Bug?

Um dos motivos que eu não gostava da existência de diferentes navegadores é que toda página que eu fazia precisava ser testada no Internet Explorer 6 e 7, Firefox, Opera, Mobile, etc… Cada um interpretava o html de um jeito e eu precisava que todos mostrassem a página de uma maneira “correta”.

Até ai tudo bem, são ossos do ofício.

Mas esses dias tive que efetuar uma alteração em um menu lateral que me tomaria 2 horas se eu editasse o código original, ou 1 dia todo se eu refizesse ele inteiro novamente (consulta ao MySQL, geração do PHP, etc…). Coisas de menus dinâmicos…

Obviamente optei por editar o código original, fazendo uma pequena gambiarra que consistia em “comentar” um “href” Quem faz html deve entender. Para quem é leigo, toda linguagem de programação tem uma “tag” (um trecho de programação) que serve para comentar o que você está fazendo (para você não se perder depois). No item 3.2.4 da W3C Recommendation – órgão que é responsável pela uniformização do HTML no mundo – indica que para você comentar alguma coisa dentro de um documento HTML você utiliza assim:

<!– Começo do código de exibição do menu–>

Ou seja, tudo que você escrever entre o “abre comentários” <!– e o “fecha comentários” –> não aparece na página.Para fazer um link você utiliza a tag “a href”. Ou seja, assim:

<a href=”http://www.jonnyken.com/infoblog”>Infoblog</a>

A minha gambiarra consistia em fazer o PHP colocar um link entre <!– e o –>, transformando-o em um comentário. O que era

<a href=”http://www.jonnyken.com/infoblog”>Infoblog</a>

viraria

<!– <a href=”http://www.jonnyken.com/infoblog”>Infoblog</a> –>

Ou seja, ao invés de ter um link, agora teria um comentário, e nada daquilo seria exibido no navegador.
Feliz da vida, terminei minhas 2 horas de trabalho nesse menu dinâmico e acabei não testando em outros navegadores (fiz visualizando no Firefox), já que a tag de comentário é mais usado que bicicleta na China, e “não deveria” apresentar problemas…

Pois é… Quando estava fazendo a verificação ortográfica do texto via Internet Explorer, eis que o Menu apareceu TODO BAGUNÇADO! Será que fiz besteira? Será que a programaçõa estava errada?

Que nada!!! Descobri que o Interent Explorer (vulgo IE) foge totalmente dos padrões de comentários da W3C. Para o IE, para fechar um comentário basta somente o > e não o –>. Para uma página normal isso não faz a menor diferença, mas para a meu menu dinâmico fazia, porque o navegador estava entendendo a página assim:

<!– <a href=”http://www.jonnyken.com/infoblog”>Infoblog</a> –>

Ou seja, em todos os itens do menu que estava comentado ele mostrava “–> ” no final e que bagunçava todo o menu.

Compre
Maça –>
Banana –>
Pera
Pêssego
Uva –>

Resumindo: Uma tag que está presente desde a 1a versão do HTML não é respeitada pelo Internet Explorer!!!

Ps1 – tive que refazer toda programação do menu dinâmico! Que Maravilha!!!

Ps2 – Será que dá para aproveitar esse bug para alguma coisa?

19 comentários em “Agora eu realmente odeio o IE. Será que é um Bug?

  • 28/10/2007 em 2:05 pm
    Permalink

    Olá, tudo bem?

    Acho o seu blog muito legal, está de parabéns! Também tenho um blog ( http://www.inexistentman.net ) e gostaria de propor uma parceria, como por exemplo troca de banners ou troca de links.

    Aguardo resposta!

    Rodrigo.

  • 28/10/2007 em 2:17 pm
    Permalink

    Aê Jonny, perdeu 1 Dia e mais 2 horas por causa do IEca é phoda!

    Por isso que amo Fx! 🙂

  • 29/10/2007 em 7:56 am
    Permalink

    Ainda bem que eu sai dessa vida enquanto ainda era tempo u.u eu já me ferrava para fazer as coisas não mto complexas em HTML.

  • 29/10/2007 em 9:15 am
    Permalink

    Off Topic:

    Fala Jonny, acabas de ser convidado para o Meme do Livro, faça o melhor, e que a força esteja com você.

    um abraço

  • 29/10/2007 em 12:31 pm
    Permalink

    Uma pequena dúvida estudantil Jonny: esse bug é do IE 6 ou IE 7 (ou ambos)?

  • 29/10/2007 em 1:55 pm
    Permalink

    Julix…

    O IE que eu testei é o 7. Mas vou testar no IE 6 em casa e ai eu te aviso…

  • 29/10/2007 em 2:23 pm
    Permalink

    Em se tratando de Microsfot é sempre bom ficar com o pé atrás. Trabalho também com programação para a web e entendo bem o que você esta passou (passa) no dia a dia. Bem vindo ao Clube 🙂

  • 31/10/2007 em 10:58 pm
    Permalink

    Claro que serve, pra mostrar que o IE não segue nenhum padrão, assim como todos os programas da MS.

    Use software Livre

    (pode classificar como spam, sem problema hehehehehe)

  • 01/11/2007 em 8:25 am
    Permalink

    Mais uma do IE 6.0, agora ele decidiu interpretar o CSS da maneira que melhor lhe convém… isso é ótimo, todos os sites que acesso estão como se tivessem sido visualizado no bloco de notas.

  • 12/11/2007 em 5:00 pm
    Permalink

    Colega,
    Tente fechar o comentario com “–>” ao invés de “->”, funciona até no IECA !!

    Abraço, legal teu blog.

    Mauricio

  • 28/12/2007 em 12:50 pm
    Permalink

    Porque não colocou ?

  • 28/12/2007 em 1:44 pm
    Permalink

    ola José

    Como eu disse no texto, para não reescrever o programa inteiro eu precisava achar um jeito de comentar, só que um funcionava no IE e outro não…

    mas eu reescrevi e ai tudo ficou 100% 🙂

  • 09/02/2008 em 9:31 am
    Permalink

    Me desculpe lhe informar… mas seu código está errado.

    O fechamento correto são duas barras mais o sinais de maior e menos

    Para abertura

    Sem os espaços entre os mesmos

    Confirme na especificação e você verá!!!

  • 09/02/2008 em 9:36 am
    Permalink

    Como a mensagem não ficou com os caracteres estou tentando novamente:

    <!--

    seu comentario

    -->

  • 10/02/2008 em 2:06 am
    Permalink

    Olá claudio…

    Eu estou falando de html… para comentar é menor exclamação “2 hifens” e fecha com “2 hífens” Maior.

    tem o link das recomendações W3C…

    Em programação normalmente são usadas 2 barras para comentar, mas não é o caso do HTML…

    mas de qualquer jeito o texto de coma está errado pq o wordpress transforma 2 hífens em um…

    Abraços, e obrigado pela visita!!!

  • 10/02/2008 em 10:12 pm
    Permalink

    Eu sei!
    Com certeza me expressei mal… heheh

    mas espero que tenha entendido!

    E não tinha considerado essas “inconsistências” do wordpress…

    Falows

  • 18/10/2008 em 5:31 pm
    Permalink

    Eu não sei para quê resolvir tentar ser desenvolvedor para web, me arrependo de esta desenvolvendo para web, tudo graças ao IEca 6, 7, 8.

    Mas depois de terminar este trabalho vou voltar a desenvolver em Java/C++ feliz da vida.

    Cara nem em Assembly tenho tanta dor de cabeça, e olha que Assembly é chatinho pra caramba já que é linguagem de máquina.

  • 18/10/2008 em 5:32 pm
    Permalink

    Correção Assembly é uma linguagem montadora (ou baixo nível), não uma linguagem de máquina.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.