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?
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.
Aê Jonny, perdeu 1 Dia e mais 2 horas por causa do IEca é phoda!
Por isso que amo Fx! 🙂
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.
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
Uma pequena dúvida estudantil Jonny: esse bug é do IE 6 ou IE 7 (ou ambos)?
Julix…
O IE que eu testei é o 7. Mas vou testar no IE 6 em casa e ai eu te aviso…
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 🙂
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)
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.
Colega,
Tente fechar o comentario com “–>” ao invés de “->”, funciona até no IECA !!
Abraço, legal teu blog.
Mauricio
Porque não colocou ?
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% 🙂
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á!!!
Como a mensagem não ficou com os caracteres estou tentando novamente:
<!--
seu comentario
-->
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!!!
Eu sei!
Com certeza me expressei mal… heheh
mas espero que tenha entendido!
E não tinha considerado essas “inconsistências” do wordpress…
Falows
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
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.
Correção Assembly é uma linguagem montadora (ou baixo nível), não uma linguagem de máquina.