Hvordan løse leseren kompatibilitetsproblemer mens du arbeider med Javascript, AJAX og XML
Mens jeg jobbet på et prosjekt, jeg har møtt mange leseren kompatibilitetsproblemer som hvordan å ignorere tomrom mens du skriver koden i Javascript. Jeg observerte at IE (Internet Explorer) nettleser er ignorerer white space men Mozilla (Firefox) og andre Netscape nettlesere er ikke ignorerer mellomrom.
Hvor jeg har møtt problemet? Da jeg prøvde å hente lengden childnodes i respektive forelder node.
Mens jeg var å hente den samme Mozilla Firefox nettleser oppfører seg på en annen måte som IE. Egentlig har jeg bare "2 barn noder" i en forelder node. IE viser lengden (nParentNode [0] .childNodes.length) som 2, men når jeg utfører den samme koden i mozilla respektive resultatet var annerledes - dette var ikke min forventet resultat, bør det være to i mozilla også
.
Etter å gjøre noen undersøkelser på dette, observerte jeg at IE er ignorerer mellomrom, men kommer til Mozilla og andre nettleserens ble ikke ignorerer mellomrom, for å komme over dette problemet vi må bruke en ekstra linje med kode.
12345for (var j = 0; j if (nParentNode [0] .childNodes [j] .nodeType = 1!) fortsetter; ... fortsette med kode ...}
Hvis du ser på koden ovenfor, tilstanden i ' hvis setningen "gjør jobben vår.
Min plan er å ignorere mellomrom, dette er mulig å bruke" Nodetype 'den ovenfor hvis tilstanden sjekker for element_node, hvis det er andre enn element_node som er ATTRIBUTE_NODE (eller) TEXT_NODE (eller) ENTITY_NODE etc., det fortsetter loopen
Se på XML-filen, som jeg bruker som et eksempel:.?
123456789101112 version = "1.0" encoding = "utf-8" >>> label = "Organization"> txt = "Google" txt = "10000 - 30000 ansatte"> label = "Technology"> txt = "Trådløs"> >>
I ovennevnte XML, er forelder tag til og som er, og er barnet noder.
Mitt mål her er å vite hvor mange barn noder er det i node, og for å få data fra disse barne koder. Hvis du ser på Javascript-kode:
nParentNode peker til og nParentNode [0] viser den aller første noden forelder, er childNodes en egenskap som returnerer en NodeList inneholder de underordnede noder av den respektive valgt node. Lengden viser antall barn noder.
1nParentNode [0] .childNodes.
length
Hvis du kjører over linjen i IE det gir resultatet som "to? men hvis du kjører det samme i Mozilla Firefox eller andre Netscape nettlesere gir det resultatet som "fire? på grunn av mellomrom. Så, for å