Liste de toutes les propriétés de l'objet de la fenêtre?

Je suis à la recherche d' (dynamiquement) d'obtenir une liste d'éléments HTML que le navigateur est actuellement au courant, tel que HTMLPreElement, HTMLSpanElement etc. Ces objets sont globales, c'est à dire

console.log('HTMLPreElement' in window);  //=> true

J'ai donc pensé que je serais en mesure d'utiliser getOwnPropertyNames comme ceci:

console.log(Object.getOwnPropertyNames(window));

pour obtenir la liste complète des propriétés globales (MDN états qui renvoie à la fois énumérable et non énumérable propriétés).

À l'aide de la ci-dessus, j'obtiens un tableau avec près de 70 propriété nanes. Mais, il ne comprend pas les objets comme les HTMLPreElement seule HTMLElement. J'ai aussi essayé:

console.log(Object.getOwnPropertyNames(window.Window.prototype));

qui ramène une plus grande liste (y compris addEventListener etc) mais encore une fois, pas de HTMLPreElement.

Alors, où diable avez-ces HTML{Tag}Element objets résident?

Ressemble à ceci fonctionne dans WebKit (avec juste un simple for...in) mais Firefox refuse à la liste.
Mais il est intéressant de savoir pourquoi vous ne pouvez pas le voir dans Firefox, il est intéressant de ne pas moins pour savoir, pourquoi s'en faire...?
au début, j'ai tout simplement besoin d'une liste d'étiquettes valides, mais quand je ne pouvais pas les voir, j'étais plus intéressé dans pourquoi ils n'apparaissent pas.

OriginalL'auteur Graham | 2012-04-29