[JavaScript/HTML] DOM manipulatie

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Big Womly
  • Registratie: Oktober 2007
  • Laatst online: 01-09 13:39

Big Womly

Live forever, or die trying

Topicstarter
Voor een project bij de klant moet ik via java/AJAX/javascript een tool aanpassen aan de behoeften van de klant.

Ik ben nu bezig een pagina aan te passen waarbij ik de gegevens uit de DOM tree via javascript wil opvragen. Als ik in de IE debugger kijk (ja, de standaard browser is hier IE, daar kan ik niets aan veranderen), dan zie ik een body tag met __listener property en een hoop HTML onder de body-tag. In de HTML zie ik perfect staan wat ik nodig heb, maar als ik via JavaScript de gegevens opvraag, dan krijg ik enkel de data die ik terugvind achter de __listener property.

Ik heb al gevonden dat __listener van de Google Web Toolkit komt, maar ik vindt geen manier om deze code te omzeilen...

Voor meer info:
Afbeeldingslocatie: https://lh3.googleusercontent.com/-qL4EGfBJjZY/TsYVjQ3IO7E/AAAAAAAAAcY/zFOjIMpUVtE/s160-c/IETrouble.jpg

Hoe geraak ik aan de HTML code die ik rechtstreeks onder de body-tag in de debugger zie?

When you talk to God it's called prayer, but when God talks to you it's called schizophrenia


Acties:
  • 0 Henk 'm!

  • alex3305
  • Registratie: Januari 2004
  • Laatst online: 15-09 09:10
Misschien anders toch een andere debugger gebruiken zoals Chrome (standaard) of Firebug? Dan kun je natuurlijk de pagina nog steeds testen in Internet Explorer.

Acties:
  • 0 Henk 'm!

  • Bartjeh
  • Registratie: September 2010
  • Laatst online: 17-09 09:27
Als ik je goed begrijp wil je de innerhtml van de body tag?

JavaScript:
1
document.getElementsByTagName("body")[0].innerHTML;


of wil je de children van het body tag? Gezien je met dom werkt. Dan is het iets met childNodes, zou je kunnen googlen ;)

Misschien zou je iets kunnen uitweiden met wat je nu probeert, en uit het screenshot welke data je precies wil hebben.

[ Voor 4% gewijzigd door Bartjeh op 18-11-2011 10:08 ]


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 21-09 14:53

MueR

Admin Tweakers Discord

is niet lief

Ik heb je topic even verplaatst naar Webdesign, Markup & Clientside Scripting en een titel gegeven.

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • Big Womly
  • Registratie: Oktober 2007
  • Laatst online: 01-09 13:39

Big Womly

Live forever, or die trying

Topicstarter
Bartjeh schreef op vrijdag 18 november 2011 @ 10:02:
Als ik je goed begrijp wil je de innerhtml van de body tag?

JavaScript:
1
document.getElementsByTagName("body")[0].innerHTML;


of wil je de children van het body tag? Gezien je met dom werkt. Dan is het iets met childNodes, zou je kunnen googlen ;)

Misschien zou je iets kunnen uitweiden met wat je nu probeert, en uit het screenshot welke data je precies wil hebben.
Beide al getest, uiteraard. Maar dan krijg ik dus de HTML te zien die achter de __Listener staat.
childNodes bevat ook maar 1 element, die textarea
MueR schreef op vrijdag 18 november 2011 @ 10:08:
Ik heb je topic even verplaatst naar Webdesign, Markup & Clientside Scripting en een titel gegeven.
Thanks :)

When you talk to God it's called prayer, but when God talks to you it's called schizophrenia


Acties:
  • 0 Henk 'm!

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

Je zou ook eens jQuery (of een andere lib) kunnen proberen, dat maakt het vaak een stukje eenvoudiger om zulke bewerkingen te doen zonder alle browser-specifieke dingen te kennen mbt DOM manipulatie.

De HTML die binnen de __listener staat lijkt overgens wel veel op wat in de 'normale' HTML staat. Misschien kun je een vereenvoudigde testcase online zetten? Want met alleen een screenshot is het lastig te zeggen waar het mis gaat. :)

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Acties:
  • 0 Henk 'm!

  • Big Womly
  • Registratie: Oktober 2007
  • Laatst online: 01-09 13:39

Big Womly

Live forever, or die trying

Topicstarter
OkkE schreef op vrijdag 18 november 2011 @ 10:41:
Je zou ook eens jQuery (of een andere lib) kunnen proberen, dat maakt het vaak een stukje eenvoudiger om zulke bewerkingen te doen zonder alle browser-specifieke dingen te kennen mbt DOM manipulatie.

De HTML die binnen de __listener staat lijkt overgens wel veel op wat in de 'normale' HTML staat. Misschien kun je een vereenvoudigde testcase online zetten? Want met alleen een screenshot is het lastig te zeggen waar het mis gaat. :)
Ik zal die jQuery eens bekijken, maar ik heb de indruk dat, op het moment dat de javascript wordt uitgevoerd, het kwaad reeds geschied is.

Een testcase zou inderdaad interessant zijn, alleen zie ik niet goed hoe ik dat kan doen zonder de hele aangekochte tool mee online te zetten... En dat zit uiteraard niet in mijn mogelijkheden...

When you talk to God it's called prayer, but when God talks to you it's called schizophrenia


Acties:
  • 0 Henk 'm!

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

Big Womly schreef op vrijdag 18 november 2011 @ 11:13:
Ik zal die jQuery eens bekijken, maar ik heb de indruk dat, op het moment dat de javascript wordt uitgevoerd, het kwaad reeds geschied is.
Je wil alle HTML (of DOM elements) binnen body, dat moet te doen zijn. Als het gewoon in de source staat zou het heel eenvoudig moeten zijn, wordt het d.m.v. Javascript toegevoegd, zal dat ook wel afgevangen moeten kunnen worden.
Een testcase zou inderdaad interessant zijn, alleen zie ik niet goed hoe ik dat kan doen zonder de hele aangekochte tool mee online te zetten... En dat zit uiteraard niet in mijn mogelijkheden...
De pagina opslaan als HTML, en alle nutteloze tags en tekst eruit gooien? De gevoelige informatie, die wel nuttig is, vervangen door Lorem Ipsum. Het gaat niet om die website, het gaat om het probleem, dat zou ook met nietszeggende inhoud reproduceerbaar moeten zijn. :)

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Acties:
  • 0 Henk 'm!

  • Big Womly
  • Registratie: Oktober 2007
  • Laatst online: 01-09 13:39

Big Womly

Live forever, or die trying

Topicstarter
OkkE schreef op vrijdag 18 november 2011 @ 13:15:
[...]

Je wil alle HTML (of DOM elements) binnen body, dat moet te doen zijn. Als het gewoon in de source staat zou het heel eenvoudig moeten zijn, wordt het d.m.v. Javascript toegevoegd, zal dat ook wel afgevangen moeten kunnen worden.
Dat zou idd moeten te doen zijn, alleen wordt de originele HTML blijkbaar overschreven/verborgen door wat er in de __listener staat.
OkkE schreef op vrijdag 18 november 2011 @ 13:15:
[...]

De pagina opslaan als HTML, en alle nutteloze tags en tekst eruit gooien? De gevoelige informatie, die wel nuttig is, vervangen door Lorem Ipsum. Het gaat niet om die website, het gaat om het probleem, dat zou ook met nietszeggende inhoud reproduceerbaar moeten zijn. :)
De tool staat vol indische spaghetticode met tables in divs in divs in tables in iframes in divs in tables in tables in... Een simpele file-save as volstaat niet om alle info op te slaan :(

When you talk to God it's called prayer, but when God talks to you it's called schizophrenia


Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 06-09 17:51
Big Womly schreef op vrijdag 18 november 2011 @ 09:49:

Hoe geraak ik aan de HTML code die ik rechtstreeks onder de body-tag in de debugger zie?
Daar geraak je niet aan.

GWT is een serverside widget toolkit / UI framework waarmee je applicaties bouwt in Java die naar geoptimaliseerde HTML/CSS/JS gecompileerd wordt. Met die output bezig gaan is net zoiets als met de hand in gegenereerde assembly code gaan lopen modderen.
Pagina: 1