ich habe ein Problem und versuche eine Internetseite inkl. ausführbarem JavaScript auf die Platte zu legen. Das ist auch kein Problem. Leider wird das JabaScript nicht ausgeführt. Das Streamen ist nicht das Problem. D.h. HTML ist auf der Platte aber es steht der Falsche Wert drin. Ein einfaches Beispiel wäre das hier:
Nur ist es so, dass mit dem InputStreamReader ja nicht das JavaScipt im Quellcode des zu holenden HTMLs aktiviert und daher noch einmal die Frage: Hat Jemand eine Idee, wie das HTML so zu sagen nach dem Ausführen des JavaScripts auf der Quellseite mit den dann aktuellen Daten über einen Stream abholbar wäre ?
NACH dem Ausführen des Scripts? Dir ist schon klar, dass alles, was mit Javascript gemacht wird, auf Clientseite passiert. Es ist daher nicht machbar, von der JSP aus auszuwerten, was dann später erst im CLient passieren soll.
Ja das ist klar. Ich dachte es gäbe einen Trick wie so viele. Z.B.: einen versteckten Minibrowser (erstellt mit Java) mit Javascipt (der aber das JavaScript ausführt) dessen Ergebnis man abgreifen könnte. Das würde mich schon ausreichen. So in der Art hätte ich mir das vorgestellt, aber da ich nicht der Javaprofil ist und noch nicht Alle "Funktionen", dachte ich es gibt möglicherweise Menschen, die das besser beurteilen können. Ich brauche einfach nur eine Idee aber wenn Du sagst es geht nicht, dann ist das nicht so schön, aber egal. Vielleicht hat ja doch irgendjemand eine Idee dazu oder eine ähnliche Problemstellung.
[EDIT]So ein HTML Snapshot mit Javascript halt.[/EDIT]
Die Seite offline zu nutzen kannst knicken. Der schießt direkt 5 XH-Requests ab. Die laufen nicht offline und allein durch die Cross-Domain Beschränkung würde ein Browser auch nicht erlauben via localhost eine andere domaine im XHR aufzurufen.
Ja, das kann sein, es geht aber ja nicht um die konkrete Seite sondern um die Problemstellung. Die Seite war ein Beispiel. Es gibt ja genug Seiten die ähnlich aufgebaut sind. Hier ist das Problem ja identisch.
Dann müsstest du wahrscheinlich einen Standardbrowser implementieren (oder halt einfach IE oder weiß ich was nehmen... bloß keinen Firefox :lol. Hast du deinen Request im normalen Browser losgeschickt, generierst du deine Ausgabe, schickst sie an den Hilfsbrowser und setzt dann von diesem widerum einen Request an den Server ab mit den modifizierten Daten. Dort wird die neue Anfrage bearbeitet und eine Ausgabe generiert (die widerum an den Hilsbrowser gesendet wird). Nun musst du diese Ausgabe noch zudeiner usrprünglichen Anwendung umleiten und fertig... ist ja einfach???:L
Wobei ich den Sinn nicht verstehe...
Dann müsstest du wahrscheinlich einen Standardbrowser implementieren (oder halt einfach IE oder weiß ich was nehmen... bloß keinen Firefox :lol. Hast du deinen Request im normalen Browser losgeschickt, generierst du deine Ausgabe, schickst sie an den Hilfsbrowser und setzt dann von diesem widerum einen Request an den Server ab mit den modifizierten Daten. Dort wird die neue Anfrage bearbeitet und eine Ausgabe generiert (die widerum an den Hilsbrowser gesendet wird). Nun musst du diese Ausgabe noch zudeiner usrprünglichen Anwendung umleiten und fertig... ist ja einfach???:L
Wobei ich den Sinn nicht verstehe...
Du hast ja viele solcher Seiten, die LiveDaten nur mit JavaScript anzeigen. Nimm z.B. die ganzen Wettbuden im Internet. Oder die Fussballergebnisse. Eigentlich suche ich das Ganze nur, damit die Live-Ergebnisse der Fussbalbuli auf einem Laufband angezeigt werden. Aber auch hier: Ergebnisse nur mit javaScript.
Wie würdest Du das Problem jetzt einmal unabhängig von meiner Idee angehen ? Ich meine das nicht böse. Deine Anmerkung "Wobei ich den Sinn nicht verstehe.." würde ich dahingehend interpretieren, das Du noch eine andere Idee hast
Eine Möglichkeit ist die Requests die per Javascript erzeugt werden direkt aufzurufen. Wenn du Glück hast wird keine Prüfung gemacht. Wenn eine Browserprüfung gemacht wird müssen entsprechende Header mitgesendet werden. Selbiges gilt bei Cookies.
Alles in allem keine triviale Aufgabe die man so mal eben nebenbei macht. Dafür ist das zu speziell.