Sto usando var win1 = open.window(...); var win2 = open.window(...);
per aprire 2 schede/finestre in Firefox - ora voglio confrontare i due DOM (modelli oggetto documento) per similarità. Quindi ho due DOM contenenti una pagina molto simile. Le pagine hanno lo stesso codice HTML ma eseguono diversi file JavaScript.Come confrontare due DOM o nodi DOM in generale?
In generale verifico se HTML e CSS è la stessa:
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) { ... }
Ma confrontando tutti i nodi DOM sembra dare cattivi risultati:
var bodyNodes1 = win1.document.body.getElementsByTagName('*');
var bodyNodes2 = win2.document.body.getElementsByTagName('*');
bodyNodes1[123].innerHTML
non è neccessary simile bodyNodes2[123].innerHTML
Quali metodi possono essere utilizzati per confrontare i nodi DOM? Esistono Framework/Librerie/Script per testare le pagine per similarità?
Sono molto grato per qualsiasi suggerimento. :-)
'isSameNode' è deprecato. Vedi https://developer.mozilla.org/en-US/docs/DOM/Node.isSameNode e anche http://stackoverflow.com/questions/3649321/is-there-a-way-to-check-if- two-dom-elements-are-equal –
isEqualNode non funziona su IE però. Sto cercando un modo. –