¿Cómo puedo leer un comentario HTML que se encuentra fuera de <html> con JavaScript?

Tengo un comentario HTML fuera del nodo raíz DOM que necesito leer:

<html> ... other stuff </html> <!-- The comment I want to read --> 

¿Puedo hacer esto con JavaScript de alguna manera?

Hice algunas testings al respecto y descubrí que cualquier código HTML más allá de </html> se agrega al <body> durante el análisis. Por lo tanto, en todos los browseres que probé (IE6 / 7, FF3, Opera10, Chrome2), el comentario fue accesible como document.body.lastChild y su contenido se puede recuperar a través de document.body.lastChild.data .

El estándar DOM para el nodo #document (la raíz lógica de un documento DOM) permite exactamente un nodo de elementos (es decir, uno <HTML>), pero muchos nodos de comentarios (y otros types de nodos más esotéricos). Como tal, debemos esperar

 document.lastChild 

ser el nodo de comentario que desea en esta instancia. Curiosamente, esto no funciona (al less en Safari 4).

Poner un nodo de comentario antes del nodo HTML está bien en mis testings. En este caso, document.childNodes.length es 2 y document.firstChild es el comentario. Al hacer un comentario después de que el nodo HTML parece insertse en el lugar incorrecto en DOM – document.childNodes.length permanece en 1, y el nodo en el inspector DOM se ve como el último elemento secundario del nodo BODY. Sin embargo, ¡no puedo encontrar ese nodo usando la API DOM en absoluto!

Esto parece ser una rareza en (al less) la implementación de Safari de DOM. Una testing rápida con Firefox muestra que ni siquiera puede encontrar un nodo de comentarios si es la primera input en el documento.

Edit: OK, según el comentario de Aaron y algunos más reflexionando, es probable que el analizador de la página simplemente esté descartando los nodos durante el análisis. Ya no estoy seguro de que esto sea un error, pero no puedo encontrar nada en la especificación (XML) que permita a los analizadores descartar nodos de comentarios completos, solo su contenido textual.

Hay un complemento jQuery para este problema: http://www.bennadel.com/index.cfm?dax=blog:1563.view

Parece que

 objChildNode.nodeType === 8 

es el punto!