PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Aus Applet raus ein HTML-PopUp machen


theVampire
14.05.2002, 10:24
Hi,

man kann doch mit JavaScript und dem document.write() Befehl eine neue HTML-Datei erzeugen und
diese auch öffnen, z.B. als PopUp.
Mit erzeugen meine ich nicht nur, die HTML anzuzeigen, sondern in diese auch den Quelltext zu schreiben.
Das es geht weiss ich.

Meine Frage nun:
Kann ich das gleiche auch aus einem Applet machen?
Die Idee dabei ist es, eine dynamische Seite zu entwickeln.

PHP und sonstige, dafür gedachten Sprachen kann ich nicht benutzen (nicht, weil ich
es nicht kann....)

Kann mir von euch jemand weiterhelfen?

mfg
theVampire


MrEasy
14.05.2002, 16:40
was du mit document.write erzeugst musste auch im quelltext haben, so dass du es auch gleich in den quelltext schreiben könntest

mittel der wahl wäre hier imo wirklich php, oder jsp, falls du java benutzen wolltest, dumm natürlich, dass du das nicht benutzen kannst

würde aber raten, das ins jscript forum zu posten, denn
jscript != java

theVampire
14.05.2002, 17:57
Hi MrEasy,

erstmal:
Ich weiss, dass jscript != java ist.
Ich hab auch geschrieben, dass ich weiss, wie es in jscript geht.

Meine Frage war:
Wie mach ich das in Java ---> bin im richtigen Forum.
soviel dazu :-)

jetzt nochmal was ich will.
Ich will aus einem Applet heraus eine neue HTML-Seite schreiben und diese Anzeigen, ohne sie vorher abspeichern zu müssen (-> daher der Vergleich mit jscript!)

Dass ich dazu schon wissen muss, was im Quelltext vorkommt, ist klar. Aber ich muss den Quelltext der
HTML-Seite entsprechend der vorangegangenen Programmablauf erstellen, so dass es doch
den Charakter einer dynamisch erstellten Seite hat.

PHP und Servlets etc gehen nicht.
Das ganze muss auf einem Chip (Infineo 167) laufen.
Das ist ein stinknormaler Webserver mit 500K Speicher, ein 80186 glaub ich.

Kann mir jemand sagen, ob es geht? Bzw. Wie es geht?

MrEasy
14.05.2002, 19:18
ok, das nächste mal lese ich mir den post erstmal durch bevor ich antworte ;)

möglichkeit wäre, ne java.net.socket verbindung zum client aufzumachen (bzw. der client macht sie zum server auf), und dann da alles rüberzuschicken, das würde aus nem applet raus gehen
müsste so aussehen:
HTTP/1.0 200 OK
Date: Fri, 31 Dec 1999 23:59:59 GMT
Content-Type: text/html
Content-Length: 1354
<html> <body> <h1>test</h1> (weiter...) </body> </html>


problem bei der sache: das aufsetzen auf die verbindung, lösung evtl: popup öffnen, das auf nen anderen port connected, auf dem das applet mit java.net.ServerSocket auf ne verbindung lauscht

Jack
15.05.2002, 12:37
Mhm, ich hätte evtl. nen Ansatzpunkt, kann aber nicht garantieren, ob das funktioniert.
Soweit ich weiß kannst du über das Applet JavaScript Funktionen aufrufen. Darüber kannst du schonmal dein Pop Up öffnen, am besten mit ner Dummy Seite mit festgelegtem Namen, so daß du auch dort JavaScript Funktionen ausführen kannst. Sobald die Seite geladen ist, läßt du dir über JavaScript Rückmeldung geben und führst die nächste JavaScript Funktion aus, die dem Pop Up dann den aus deinem Applet generierten HTML Code übergibt. Mittels Document.open und Document.close müßte das Pop Up dann den Code darstellen können. Auf der aufrufenden Seite hättest du dann das Applet und die Funktionen createPopUp zum öffnen des Fensters und sendHTML zum rüberschicken des HTML Codes, sowie eine Funktion notifyApplet(), das dann vom PopUp aufgerufen wird, um das Applet zu benachrichtigen, daß der Ladevorgang beendet ist. Im PopUp selber dann ebenfalls eine Funktion notifyApplet (über onLoad aufgerufen), und eine Funktion writeHTML, die von sendHTML aufgerufen wird und den Source übergeben bekommt und diesen mittels document.open und document.close zur Anzeige bringt.
Wie du JavaScript und dein Applet verzahnst kann ich dir leider nicht sagen, damit hab ich mich noch nicht befaßt.

theVampire
15.05.2002, 23:37
Hi Jack,

danke für deinen Beitrag.
Ich hab jetzt so ungefähr ne Ahnung wie es gehen könnte. Selbst wenn deine
Antwort nicht funktionieren sollte, hast du mich ein großes Stück weiter gebracht.

Thx.
Andreas