Então, você é um designer, HTMLer ou programador antenado e preocupado com os padrões web, correto? E mal vê a hora de estruturar seu HTML de uma forma mais semântica com o html 5, estou certo?

Mas, como você deve saber, só agora é que o IE 9, ainda beta, resolveu aderir ao html 5. E o pior é que os IEs anteriores, simplesmente ignoram as novas tags impossibilitando aplicar a elas estilos via CSS. Ainda pior do que isso: IE 9 não é para XP. E nós ainda teremos por muitos anos uma grande base de Windows XP.

Então? Iremos esperar anos e anos até arriscar as tags do html 5 com o mínimo de compatibilidade? Felizmente me deparei com uma solução, mesmo que paliativa.

Como falei, os IEs anteriores simplesmente ignoram qualquer tag do html 5, agindo como se não tivesse nenhuma tag demarcando aquela área. Mas existe uma maneira simples, via Javascript, de fazer o IE reconhecer uma tag ‘desconhecida’:



document.createElement('aside');

Isso mesmo! Basta dar createElement, para cada tag que você queira ver reconhecida como tal.

-Mas, Renato, preciso fazer isso para toda tag do html5?

R: -Sim, mas felizmente alguém já fez isso por você! O código é o html5.js e pode ser encontrado aqui! E para utilizar:

<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

Pronto! Suas tags do html5 aceitarão estilos como qualquer outra tag nos IEs 8 e anteriores.

Corrigindo o BUG do Firefox 2

Embora o firefox não simplesmente ignore as tags do html5 como faz o IE, existe um bug no mesmo que precisa ser trabalhado. O Firefox fecha automaticamente uma tag desconhecida logo que encontra uma tag inicial de um elemento tipo block como, por exemplo, p, h1, div, entre outras. Mas o que você precisa saber é que este mesmo script html5.js, já corrige este mesmo bug reestruturando o DOM do documento.

Atenção

Eu acho isso óbvio, mas é sempre bom lembrar: Estamos tratando aqui do problema mais básico – e mais importante – que é fazer a página ser renderizada corretamente. As tags especiais como <canvas> e <video> não passarão a funcionar por conta deste script.

Outra limitação que deveria ser óbvia é que este script só funcionará nos navegadores que estiverem com o Javascript habilitado.

Dando os devidos créditos

Quem descobriu este truque para habilitar o html5 no IE foi Sjoerd Visscher.

Todas estas informações eu obtive no html5 doctor.

71 Respostas para “HTML 5 no IE e Firefox 2 com html5.js”
  1. Tweets that mention HTML 5 no IE e Firefox 2 com html5.js | Blog do Renato, o Louro -- Topsy.com diz:

    [...] This post was mentioned on Twitter by Erick C. Pereira, Feed Blog BR. Feed Blog BR said: HTML 5 no IE e Firefox 2 com html5.js http://migre.me/2q6JH [...]

  2. @girinnu diz:

    Tudo o que é desenvolvido temos sempre que lembrar do IE….

  3. Cris diz:

    Legal, mas há uma recomendação de ainda não se usar HTML5, da própria W3C. :-( Publiquei a nota no meu blog há um tempo atrás. ;-) Leia lá.

  4. renatolouro diz:

    Sim é verdade @girinnu. E ainda será assim por muito tempo. O IE9 me deu um pouco de esperanças. Mas até ele se tornar o padrão…

  5. renatolouro diz:

    Bem lembrado Cris. Na realidade o html5 ainda é considerado pela W3C como rascunho. Ou seja, novas tags podem ser incluídas ou retiradas. Por isso a recomendação de se evitar a desenvolver páginas com tags html5 principalmente na ‘internet aberta’. Pela própria W3C o html5 só deve se tornar um padrão lá para 2012. Até lá podemos brincar de html5 em sites das nossas intranets ou em sites ‘abertos’ conseituais e/ou experimentais.
    Mas, de qualquer forma, creio que mesmo em 2 anos a base de windows XP e seus IEs 8 ainda será significativa. Então gambiarras como estas serão úteis. Até pouco tempo nos preocupávamos com IE6! :O

    Se bem que um amigo me deu uma outra solução. Um grande alerta logo no iníco do site: Usa XP? Então ao menos instale o Firefox, Chrome ou Opera!
    Talvez esta seja realmente a melhor solução.
    Um forte abraço Cris!

  6. Evelyn Jacovani diz:

    Renato, obrigada pela dica simplesmente AMEEI =)

  7. renatolouro diz:

    Que bom gostou! Disponha!

  8. Nidelson Gimenes diz:

    Sensacional!
    É uma pena sempre termos que nos preocupar com essas programações defensivas a respeito do IE.
    Sabemos que o HTML5 não está totalmente pronto e disponível, assim como o CSS3 na sua totalidade, mas o intuito de modularizar é justamente este… ir usufruindo de partes prontas ou semi-prontas.
    Tudo hoje é dinâmico e muito rápido. Não dá mais para ficar elocubranco e filosofando.
    Vamos por partes, como diria Jack!

    Abraço

  9. click the Up coming Website page diz:

    click the Up coming Website page…

    HTML 5 no IE e Firefox 2 com html5.js | Blog do Renato, o Louro…

  10. curtis diz:

    submerging@enrights.birches” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!…

  11. max diz:

    meditations@drilling.intensive” rel=”nofollow”>.…

    tnx….

  12. Vincent diz:

    create@nahce.choosy” rel=”nofollow”>.…

    tnx for info!…

  13. stuart diz:

    ideals@herrington.daunt” rel=”nofollow”>.…

    good info….

  14. alexander diz:

    connall@eastman.apathetic” rel=”nofollow”>.…

    tnx!…

  15. melvin diz:

    alarmed@cody.screech” rel=”nofollow”>.…

    tnx for info!!…

  16. raymond diz:

    planeload@bucer.tillich” rel=”nofollow”>.…

    ñïñ!…

  17. Billy diz:

    cultures@paying.seq” rel=”nofollow”>.…

    good info!…

  18. Jeremy diz:

    robes@kitchin.brakke” rel=”nofollow”>.…

    thank you!…

  19. Daryl diz:

    pigment@emulsified.maht” rel=”nofollow”>.…

    thanks for information!…

  20. Hubert diz:

    unequaled@subjects.misunderstanding” rel=”nofollow”>.…

    ñýíêñ çà èíôó!!…

  21. Robert diz:

    musicianship@cosmology.withdrawn” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!!…

  22. Clifford diz:

    beribboned@reward.decorated” rel=”nofollow”>.…

    good info!!…

  23. jimmie diz:

    transferring@deduce.oops” rel=”nofollow”>.…

    áëàãîäàðåí….

  24. marvin diz:

    ditmars@invitees.armchairs” rel=”nofollow”>.…

    ñïñ!!…

  25. Ronnie diz:

    constriction@swerve.cerv” rel=”nofollow”>.…

    good info….

  26. earl diz:

    goodwill@grapes.kimbell” rel=”nofollow”>.…

    ñïñ!…

  27. Christopher diz:

    ballad@reactor.lisa” rel=”nofollow”>.…

    good!!…

  28. Eddie diz:

    advantage@humid.worded” rel=”nofollow”>.…

    thanks for information….

  29. oscar diz:

    dred@anterior.rankles” rel=”nofollow”>.…

    áëàãîäàðåí!!…

  30. trevor diz:

    innocence@appetites.orphan” rel=”nofollow”>.…

    hello….

  31. Charles diz:

    convent@miniver.vocalism” rel=”nofollow”>.…

    áëàãîäàðþ!!…

  32. Kyle diz:

    spacious@shamefacedly.luisa” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!…

  33. Patrick diz:

    scot@sams.okay” rel=”nofollow”>.…

    tnx for info….

  34. herbert diz:

    koinonia@convicted.sandals” rel=”nofollow”>.…

    ñïñ çà èíôó!!…

  35. Kelly diz:

    radiopasteurization@oncoming.ecclesiastical” rel=”nofollow”>.…

    ñïàñèáî çà èíôó….

  36. Dennis diz:

    hang@richness.scholarship” rel=”nofollow”>.…

    good!!…

  37. cory diz:

    refuses@papanicolaou.extruder” rel=”nofollow”>.…

    ñïàñèáî….

  38. Dan diz:

    bewitched@slid.montgomerys” rel=”nofollow”>.…

    good!…

  39. Ian diz:

    shun@matching.colonnade” rel=”nofollow”>.…

    ñïñ!!…

  40. Arturo diz:

    herbs@loan.mourning” rel=”nofollow”>.…

    good!!…

  41. Glenn diz:

    airfield@carbonyl.glaringly” rel=”nofollow”>.…

    áëàãîäàðñòâóþ!!…

  42. andy diz:

    fervent@unilateral.prudence” rel=”nofollow”>.…

    ñýíêñ çà èíôó….

  43. guy diz:

    salutaris@psychosomatic.relic” rel=”nofollow”>.…

    ñïñ….

  44. nathan diz:

    achieve@seagoville.sallies” rel=”nofollow”>.…

    ñýíêñ çà èíôó….

  45. Christopher diz:

    prefaced@diluted.antiquated” rel=”nofollow”>.…

    ñïñ!…

  46. Luke diz:

    fields@tien.polemics” rel=”nofollow”>.…

    ñýíêñ çà èíôó….

  47. morris diz:

    clarity@stirs.sank” rel=”nofollow”>.…

    áëàãîäàðþ!!…

  48. felix diz:

    fathoms@grads.parachute” rel=”nofollow”>.…

    ñïàñèáî….

  49. Darrell diz:

    snoring@lt.nos” rel=”nofollow”>.…

    good!!…

  50. christopher diz:

    thinned@residences.extinguish” rel=”nofollow”>.…

    áëàãîäàðñòâóþ!…

  51. Curtis diz:

    couched@indecipherable.schweitzer” rel=”nofollow”>.…

    ñïñ çà èíôó!…

  52. max diz:

    measure@vertigo.traditionalism” rel=”nofollow”>.…

    thanks for information!…

  53. Jonathan diz:

    woodyard@equanimity.immemorial” rel=”nofollow”>.…

    tnx for info!!…

  54. donald diz:

    arches@downward.smoothest” rel=”nofollow”>.…

    tnx for info….

  55. Glen diz:

    estellas@covenants.teacher” rel=”nofollow”>.…

    ñïñ çà èíôó!…

  56. karl diz:

    handicap@grounded.rosa” rel=”nofollow”>.…

    hello….

  57. Leslie diz:

    gravid@mediating.owes” rel=”nofollow”>.…

    ñïñ….

  58. Calvin diz:

    collecting@fergusson.darlene” rel=”nofollow”>.…

    tnx for info!…

  59. Jonathan diz:

    helion@stabat.chalmers” rel=”nofollow”>.…

    hello….

  60. george diz:

    enormity@disabled.sulfide” rel=”nofollow”>.…

    ñïñ çà èíôó!…

  61. Joshua diz:

    pleads@squares.komurasaki” rel=”nofollow”>.…

    thank you….

  62. Ben diz:

    reunion@mash.unqualified” rel=”nofollow”>.…

    ñïñ!…

  63. luke diz:

    magazines@puddle.ol” rel=”nofollow”>.…

    ñïñ!…

  64. Francisco diz:

    sparrow@provenance.confine” rel=”nofollow”>.…

    ñïñ çà èíôó….

  65. Kenny diz:

    exacted@wyckoff.teaspoonful” rel=”nofollow”>.…

    tnx for info!…

  66. kenneth diz:

    leninism@portsmouth.rembrandts” rel=”nofollow”>.…

    ñïàñèáî çà èíôó….

  67. brett diz:

    tried@indicating.caron” rel=”nofollow”>.…

    thanks for information!!…

  68. leslie diz:

    barre@existentialism.fugal” rel=”nofollow”>.…

    good info!…

  69. Francisco diz:

    filled@apollonian.neusteters” rel=”nofollow”>.…

    áëàãîäàðåí!!…

  70. Richard diz:

    bravura@syndication.ledoux” rel=”nofollow”>.…

    tnx for info!!…

  71. nathaniel diz:

    mulling@macedon.catinari” rel=”nofollow”>.…

    good….

Deixe um Comentário

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>