Comment analyser le code HTML à partir de JavaScript dans Firefox?
Quelle est la meilleure façon d'analyser (obtenir une arborescence DOM) HTML résultat de XmlHttpRequest dans Firefox?
EDIT:
Je ne pas ont l'arborescence DOM, j'ai envie de l'acquérir.
Du XmlHttpRequest "responseXML" ne fonctionne que lorsque le résultat est réel XML, donc j'ai seulement responseText de travailler avec.
Le innerHTML hack ne semble pas fonctionner avec un document HTML (<html></html>). - s'avère qu'il fonctionne très bien.
Les navigateurs de l'analyse du code html pur, car ils sont existent. Mais c'est tellement triste qu'il n'est pas un simple moyen standard, qui peut invoquer le navigateur de l'analyseur de faire un HTMLDocument objet à partir d'une chaîne html...
OriginalL'auteur hmp | 2009-05-20
Vous devez vous connecter pour publier un commentaire.
innerHTML
devrait fonctionner très bien, par exemple,Si vous êtes inquiet au sujet de <script>s en cours d'exécution, puis vous auriez également besoin de s'inquiéter à propos d'autres trucs comme SCRIPT majuscule ou un octet null apparaissant mi-chemin à travers le mot <script> etc. Mais avez-vous vraiment besoin d'être inquiet au sujet de <script>s d'être exécuté?
Selon cette page: bytes.com/topic/javascript/answers/513633-innerhtml-script-tag - vous n'avez pas besoin de vous soucier des blocs de script exécuté lors de l'ajout via innerHTML: "des blocs de Script inséré via innerHTML n'est pas exécutée dans un navigateur autre que NS6" - mais qui a été écrit en 2006.
A fonctionné à merveille pour moi, merci!
Que faire si l'être analysée document myHTML était dans un document HTML en commençant par <!DOCTYPE html><html>...? Il ne serait pas beaucoup de sens comme le innerHTML d'un div, le serait-il? Même si les navigateurs actuels sont en mesure d'ignorer certaines de l'annotation pour obtenir un substitut approprié pour les div à l'innerHTML, ça ne sonne pas comme une solution propre pour moi.
OriginalL'auteur James
Au moins pour les nouvelles versions de Firefox, un moyen plus facile est ou sera bientôt disponible.
https://developer.mozilla.org/en/HTML_in_XMLHttpRequest indique qu'à partir de FF11, il sera possible de demander un DOM directement à partir de la XHR par la définition de la
responseType
attribut"document"
. À ce moment, le HTML sera analysé et les DOM coincé dansresponseXML
comme pour un document XML.OriginalL'auteur Walter Mundt
Vous pouvez utiliser le DOMParser pour analyser HTML - même la soupe de tags:
Je ne sais pas si elle gère partielle de balisage de tableau bien, mais il doit créer le même DOM du navigateur lui-même n'a pour à peu près n'importe quelle balise.
OriginalL'auteur hallvors
Boucle de la propriété responseXML de l'objet XMLHttpRequest. En outre, si vous utilisez innerHTML pour ajouter le responseText d'un format HTML réponse, le navigateur d'analyse du texte et de l'assembler dans les DOM tous avant même d'ajouter dans le flux de documents.
OriginalL'auteur Andrew Noyes
Si vos données sont en XHTML, il est donc valide XML, puis DOMParser (Mozilla) ou loadXML (IE) peut aider. Si non, je ne peux pas penser à quelque chose de mieux que le décapage de la et puis en le passant à un 'innerHtml.
Voir 21.1.3 dans Flanagan Javascript guide (5e édition).
Colin
OriginalL'auteur Colin Fine