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?

Assine o feed do Infoblog Feeds do Infoblog

Guardar no Pagestacker

19 Comments so far

  1. Inexistent Man on October 28th, 2007

    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.

    [Responder]

  2. Carlos Fran on October 28th, 2007

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

    Por isso que amo Fx! :)

    [Responder]

  3. Dani on October 29th, 2007

    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.

    [Responder]

  4. Reinaldo / Plastico on October 29th, 2007

    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

    [Responder]

  5. Julix on October 29th, 2007

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

    [Responder]

  6. jonny on October 29th, 2007

    Julix…

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

    [Responder]

  7. Ligeirinho on October 29th, 2007

    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 :)

    [Responder]

  8. Ostrock on October 31st, 2007

    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)

    [Responder]

  9. Ostrock on November 1st, 2007

    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.

    [Responder]

  10. Mauricio on November 12th, 2007

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

    Abraço, legal teu blog.

    Mauricio

    [Responder]

  11. José Cláudio Medeiros on December 28th, 2007

    Porque não colocou ?

    [Responder]

  12. jonny on December 28th, 2007

    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% :)

    [Responder]

  13. Cláudio on February 9th, 2008

    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á!!!

    [Responder]

  14. Cláudio on February 9th, 2008

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

    <!--

    seu comentario

    -->

    [Responder]

  15. jonny on February 10th, 2008

    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!!!

    [Responder]

  16. Cláudio on February 10th, 2008

    Eu sei!
    Com certeza me expressei mal… heheh

    mas espero que tenha entendido!

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

    Falows

    [Responder]

  17. Carlos Fran on February 11th, 2008

    Recomendações W3C
    http://www.w3.org/TR/1999/REC-html401-19991224/intro/sgmltut.html#h-3.2.4

    Abraço!
    O Jonny está fazendo da maneira correta só a porcaria do IE6 que já deveria ter morrido… Isso é uma peste! hehehe

    [Responder]

  18. cristo on October 18th, 2008

    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.

    [Responder]

  19. cristo on October 18th, 2008

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

    [Responder]

Leave a reply

Fechar
Envie por e-mail