Détection doctype

Invité
Invité n'ayant pas de compte PHPfrance

19 mars 2007, 15:56

Bonjour à tous, voila tout est dans le titre ... comment récupérer le doctype d'une page (s'il y en a un) avec javascript ?

Dans mon cas c'est pour récuperer la hauteur d'une page... exmple:

Si le doctype est renseigné, je récupère la hauteur avec

Code : Tout sélectionner

document.documentElement.scrollHeight
Si le doctype n'est pas renseigné, alors je récupère la hauteur avec:

Code : Tout sélectionner

document.body.scrollHeight
D'ou l'intrêt de pouvoir récuperer le doctype ...

Merci !

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

19 mars 2007, 16:31

Tu peux tester simplement si l'élément document.documentElement est défini, si c'est le cas tu l'utilises, sinon tu passes à document.body :)
if (document.documentElement)
  x = document.documentElement.scrollTop;
else if (document.body)
  x = document.body.scrollTop
else
  ... 
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Invité
Invité n'ayant pas de compte PHPfrance

19 mars 2007, 17:27

Hélas ce n'est pas possible puisque document.documentElement et document.body existent dans tous les cas ... ce n'est que la valeur qui est erronée.

J'ai trouver une astuce peu élégante mais qui marche ... la voici :

Avec IE:

Code : Tout sélectionner

if(document.documentElement.clientHeight==0) { alert("pas de doctype); } else alert("doctype trouvé");
Avec les autres:

Code : Tout sélectionner

if(document.doctype==null) { alert("pas de doctype); } else alert("doctype trouvé");