2009-10-10 5 views
0

J'ai un bookmarklet qui stocke beaucoup de données DOM, mais j'aimerais éviter de les mettre hors de la balise body afin que le script de la page ne soit pas en désordre.Quel est le problème de mettre le balisage en dehors de <body>?

valeur sémantique est pas un problème pour une fois, mais je voudrais savoir:

  • il va déclencher un comportement du navigateur?
  • sera-t-il encore accessible dans le DOM?
  • Puis-je l'afficher à l'aide d'un positionnement absolu ou devrais-je le déplacer sur le corps à chaque fois?

Répondre

4

Tout dans la balise html < > (même si en dehors de la balise body < >) est accessible via document.documentElement.

+0

Super. Mais peut-il être affiché en utilisant la position absolue, ou va-t-il résulter de comportements imprévisibles à travers les navigateurs. Je demande avant de tester parce que je suis sur une machine Linux et pour l'instant, ne peut pas tester dans 10 navigateurs différents pour vérifier. –

+4

Si vous ne produisez pas un document valide, le comportement entre les navigateurs est par définition indéfini. Le mieux est de trouver une solution valable – Gareth

0

Résultat de quelque peu de tests:

  • Firefox ne sera pas afficher une grande DIV rouge si elle est après </body>
  • Firefox ne fonctionnera pas alert() d'un SCRIPT si elle est après </body>
  • Firebug don ne les voyez pas mais affichez le fameux DIV Firebug après </body>
Questions connexes