Toon posts:

[JS] IE DOM XML zonder ActiveX

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ben momenteel bezig met een web-based applicatie die gebruik maakt van o.a. XML en JavaScript. Wegens beperkte beveiligingsinstellingen bij de klant is het niet mogelijk om ActiveX te gebruiken en ze gebruiken uiteraard (*snik*) wel IE.

Ik zoek nu dus naar een stukje script die de minimale en read-only mogelijkheden heeft van het DOM XML ActiveX object in IE en het DOMParser object in Gecko.

Nu kwam ik door een collega op Xparse, maar sinds daar "New Ver: .91 Feb 21 1998" staat heb ik daar niet echt veel vertrouwen in. ;) Ik heb die overigens ook geprobeerd te implementeren mbv een paar aanpassingen, maar dat werkte ook voor geen meter.

Wat ik met het script wil is eigenlijk van een XML string de root node uitlezen, en daarna door alle childnodes heen kunnen lopen (meerdere niveaus), en op 'element'-nodes de methods .getElementsByTagName() en .getAttribute() kunnen gebruiken. Vrij simpel dus.

Weet iemand misschien of hier goeie bestaande scripts voor zijn?

Thanks!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Misschien een domme vraag, maar waarom wil je dit met JS oplossen? Kan je dan niet beter de XML functies gebruiken van bijvoorbeeld PHP? :? Dan maakt de browser je niet eens uit ook... ;)

Tevens zijn wij geen helpdesk, voor je vragen over 'Ik zoek een script die dit en dat doet', zijn op het internet al genoeg sites voor, bekende hiervoor is HotScripts. Misschien heeft die een JS XML scriptje en anders heb je Google altijd nog: [google=JS XML script]

Laat de moderator-achtige replies maar achterwege. Deze knop Afbeeldingslocatie: http://gathering.tweakers.net/global/templates/tweakers/images/icons/icon_hand.gif hebben we voor niks uitgevonden :). Simpelweg verwijzen naar twee sites (zonder zelf te kijken hoe relevant die eigenlijk zijn, vallen ook gewoon onder Algemene gedragsregels (Netiquette) #reageren

[ Voor 39% gewijzigd door BtM909 op 06-04-2006 12:57 ]


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

TS: je hoeft niet echt bang te zijn van een laatste update in 1998. XML is natuurlijk wat ouder dan de AJAX hype ;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

BtM909 schreef op donderdag 06 april 2006 @ 11:36:
TS: je hoeft niet echt bang te zijn van een laatste update in 1998. XML is natuurlijk wat ouder dan de AJAX hype ;)
Maar waarom zou je zoiets met JS / AJAX willen doen, ik bedoel, je kan toch ook hetzelfde doen icm bijvoorbeeld PHP? Een oplossing met een programmeertaal zoals PHP of ASP en noem ze maar op, lijkt mij namelijk (voor de client althans) veel sneller te werken. Zeker als je een oude PC hebt en veel JS moet runnen om het gewenste resultaat te krijgen... :)

Verwijderd

Topicstarter
Helaas is PHP geen optie, het gaat namelijk echt om een fallback voor als ActiveX niet ondersteund wordt. Om dan PHP JavaScript te laten parsen afhankelijk van de XML lijkt me nogal overkill... Vooral als het mogelijk is op een andere manier en zoals ik al zei; ik heb eigenlijk alleen maar .getElementsByTagName (optioneel zelfs) en .getAttribute() nodig, en dat ik de nodes in een nested array heb zodat ik er doorheen kan lopen.

Ik heb even gekeken op HotScripts (Google had ik al gezocht) en ik ben nu aan het kijken naar XML for SCRIPT.

Ik zoek ook niet per se een compleet script op maat, maar meer iets wat ik eventueel kan strippen tot wat ik nodig heb. Ik zou natuurlijk ook zelfs iets kunnen brouwen met regex, maar ik heb zoiets van; als iemand het al heeft gemaakt en het ziet er goed uit, dan is het een beetje onnodig om het zelf te doen. (ik heb genoeg boeiendere uitdagingen in hetzelfde project) ;)

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Verwijderd schreef op donderdag 06 april 2006 @ 11:51:
Helaas is PHP geen optie, het gaat namelijk echt om een fallback voor als ActiveX niet ondersteund wordt. Om dan PHP JavaScript te laten parsen afhankelijk van de XML lijkt me nogal overkill...
Ik heb ook niet gezegt dat PHP de JS moet parsen... Je kan ook met PHP de XML parsen... :) Dan heb je de JS niet nodig... Jammere is alleen, dat je dus PHP niet beschikbaar hebt, misschien wel andere programmeer talen? :)

En anders is er vast wel ergens een webserver voor je (al dan niet voor intranet of zo) beschikbaar, of is een kleine webserver zo geïnstalleerd lijkt me (ook al kost dat wel ietsje meer dan wat ruimte bieden op een reeds bestaande webserver... :))

[ Voor 20% gewijzigd door CH4OS op 06-04-2006 12:04 ]


  • Michali
  • Registratie: Juli 2002
  • Laatst online: 09-12-2025
Is de klant niet te overtuigen dat ActiveX wel ingeschakeld wordt? Of beperkt wordt tot DOM? (geen idee of dat laatste mogelijk is)

Noushka's Magnificent Dream | Unity


  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Michali schreef op donderdag 06 april 2006 @ 12:25:
Is de klant niet te overtuigen dat ActiveX wel ingeschakeld wordt? Of beperkt wordt tot DOM? (geen idee of dat laatste mogelijk is)
Ik neem aan, dat ActiveX niet voor niets uitgeschakeld is. En die reden zal wel beveiliging zijn... ActiveX is nog altijd nou niet bepaald bugloos... :) En ik vraag me af of het inschakelen van ActiveX en het laten werken van het programma, opweegt tegen de mate van beveiliging die ze nu hebben... :)

Verwijderd

Topicstarter
GJ-tje schreef op donderdag 06 april 2006 @ 12:03:
[...]
Ik heb ook niet gezegt dat PHP de JS moet parsen... Je kan ook met PHP de XML parsen... :) Dan heb je de JS niet nodig... Jammere is alleen, dat je dus PHP niet beschikbaar hebt, misschien wel andere programmeer talen? :)

En anders is er vast wel ergens een webserver voor je (al dan niet voor intranet of zo) beschikbaar, of is een kleine webserver zo geïnstalleerd lijkt me (ook al kost dat wel ietsje meer dan wat ruimte bieden op een reeds bestaande webserver... :))
PHP is wel degelijk beschikbaar op de server waar de applicatie op draait. Punt is echter dat we niet elke bij request de XML door PHP willen laten parsen vanwege server load. Als het client-side kan dan dus liever door de computer van de bezoeker.

Ik heb overigens inmiddels met een paar aanpassingen tóch dat Xparse werkend gekregen, zo lijkt het! Eerst nog even debuggen!

[edit] ActiveX kan inderdaad niet ingeschakeld worden, en grote bedrijven overtuigen van het feit dat ze beter een moderne browser kunnen gebruiken is vaak ook verspilde moeite. Ze zitten met zoveel procedures waardoor het jaren gaat duren (bij wijze van spreken) voor er echt iets omgegooid mag worden...

[ Voor 15% gewijzigd door Verwijderd op 06-04-2006 12:45 ]


  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Verwijderd schreef op donderdag 06 april 2006 @ 12:43:
PHP is wel degelijk beschikbaar op de server waar de applicatie op draait. Punt is echter dat we niet elke bij request de XML door PHP willen laten parsen vanwege server load. Als het client-side kan dan dus liever door de computer van de bezoeker.
Wat denk je wat de client doet? Die doet hetzelfde namelijk elke keer de XML file opvragen.
Je kan natuurlijk ook gewoon eens in de zoveel tijd een kant en klare output klaar zetten, caching dus... :)
Je kan dus gewoon een door PHP gemaakte file op de server zetten en die dan aan de gebruikers laten zien. Kan je om de zoveel tijd een PHP scriptje laten lopen die de HTML file update... :)
Heb je bijna geen load meer en heb je het opgelost middels PHP, waardoor de gebruikers de pagina ook veel sneller hebben, omdat zij de JS ook niet meer hoeven te doen... :)

  • Justice
  • Registratie: Maart 2001
  • Laatst online: 07-08-2025
Als er stel, duizenden mensen tegelijk xml gaan opvragen is het inderdaad beter om de xml eenmalig op de client te parsen dan 1000x op de server, en ik maak uit de reacties van de TS op dat zoies het geval is hier.

Daarnaast kan je de JS ook cachen en dan hoef je die ook maar 1x op te halen, dus een voordeel voor PHP op dat gebied lijkt me er ook niet echt te zijn.

[ Voor 27% gewijzigd door Justice op 06-04-2006 13:21 ]

Human Bobby


  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Justice schreef op donderdag 06 april 2006 @ 13:21:
Als er stel, duizenden mensen tegelijk xml gaan opvragen is het inderdaad beter om de xml eenmalig op de client te parsen dan 1000x op de server, en ik maak uit de reacties van de TS op dat zoies het geval is hier.
Als je PHP een file laat cachen en die de gecache'de file naar de gebruikers stuurt, is er toch niks aan de hand? :? Enige wat PHP dan hoeft te doen is om de zoveel tijd de file in de cache updaten en klaar... :)
Daarnaast kan je de JS ook cachen en dan hoef je die ook maar 1x op te halen, dus een voordeel voor PHP op dat gebied lijkt me er ook niet echt te zijn.
Het voordeel die PHP heeft is dat PHP het voor elke gebruiker tegelijk doet. Je hebt dus 1 cache file, die opgevraagt word door iedereen, ipv dat elke gebruiker zijn eigen cache heeft. De gebruiker hoeft niet te wachten op het laden van de XML door de JS, omdat de JS niet meer nodig en de boel toch allang gedaan is... ;) Dan is je pagina toch veel sneller bij de browser neergezet, of zie ik dat nou verkeerd? :?

En de serverload valt reuze mee bij PHP, anders heb je wel een erg brakke webserver staan (zeker bij een bedrijf... :))

[ Voor 48% gewijzigd door CH4OS op 06-04-2006 20:06 ]


  • Koeniepoenie
  • Registratie: Oktober 2003
  • Laatst online: 14-11-2025
GJ-tje schreef op donderdag 06 april 2006 @ 13:34:
[...]

En de serverload valt reuze mee bij PHP, anders heb je wel een erg brakke webserver staan (zeker bij een bedrijf... :))
Dat ligt er natuurlijk maar net aan wat je PHP laat doen ;)

Parse error: syntax error, unexpected GOT_USER in https://gathering.tweakers.net on line 1337


  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Koeniepoenie schreef op donderdag 06 april 2006 @ 23:36:
Dat ligt er natuurlijk maar net aan wat je PHP laat doen ;)
Ja oké, maar ik denk niet dat de domxml functies zo zwaar liggen... ;) Of SimpleXML als je PHP5 gebruikt...

[ Voor 9% gewijzigd door CH4OS op 06-04-2006 23:53 ]

Pagina: 1