Estoy usando var win1 = open.window(...); var win2 = open.window(...);
para abrir 2 pestañas/ventanas en Firefox - ahora quiero comparar los dos DOM (modelos de objetos de documento) por similitud. Así que tengo dos DOM que contienen una página muy similar. Las páginas tienen el mismo HTML pero ejecutaron diferentes archivos JavaScript.¿Cómo se comparan dos DOM o DOM en general?
En general puedo comprobar si HTML y CSS es el mismo:
var html1 = win1.document.body.innerHTML;
var html2 = win2.document.body.innerHTML;
if (html1 == html2) { ... }
var css1 = win1.document.body.style.cssText
var css2 = win2.document.body.style.cssText
if (css1 == css2) { ... }
Pero la comparación de todos los nodos DOM parece dar malos resultados:
var bodyNodes1 = win1.document.body.getElementsByTagName('*');
var bodyNodes2 = win2.document.body.getElementsByTagName('*');
bodyNodes1[123].innerHTML
no es neccessary similares bodyNodes2[123].innerHTML
¿Qué métodos se pueden usar para comparar los nodos DOM? ¿Existe algún Framework/Libraries/Scripts para probar la similitud de las páginas?
Estoy muy agradecido por cualquier pista. :-)
'isSameNode' está en desuso. Consulte https://developer.mozilla.org/en-US/docs/DOM/Node.isSameNode y también http://stackoverflow.com/questions/3649321/is-there-a-way-to-check-if- two-dom-elements-are-equal –
isEqualNode no funciona en IE embargo. Estoy buscando un camino. –