# Popup Fenster in Servlet einbinden



## Gast (9. Aug 2006)

Hallo!

Ich habe da ein kleines Problem. Ich will ein Popup Fenster in eine if-Anweisung eines Java Servlet einbinden, habe aber überhaupt keine Ahnung wie das funktionieren soll bzw könnte.

Die if-Anweisung sieht wie folgt aus:

if (iGeburtsdatum == 1)
    {
      out.println("<center>");
      //out.println("javascript:window.open('datei.htm','infofenster','height=400,width=200')");
      out.println("<h3>Herzlichen Glückwunsch zum Geburtstag!!!</h3>");
      out.println("</center>");
    }
    else
    {
        out.println("<center>");
        out.println("<h3>Es sind noch " +iGeburtsdatum+ " Tage bis zum Geburtstag!!!</h3>");
        out.println("</center>");
    }

Wie man sieht, habe ich schon versucht das javascript einzubinden. Aber ich habe keine Ahnung wie das mit Javascript funktionieren sollte.

Bin für jede Hilfe dankbar! Falls jemand ein Beispiel hätte wie man das lösen könnte oder weiß wo man dazu ein Beispiel findet, wäre ich sehr froh.


Danke im voraus!!!


----------



## SlaterB (9. Aug 2006)

google 'javascript popup', erster Link?

http://www.jjam.de/JavaScript/Popup/Popup.html


----------



## Sanix (9. Aug 2006)

Anzumerken ist, dass die meisten Browser dieses Pop - Up blocken werden und sie sowieso nerven.


----------



## Gast (9. Aug 2006)

@SlaterB

Danke! Soweit war ich auch schon. Bringt mir nur nix. Da sich das Popup öffnen soll, wenn sich die if-Bedingung erfüllt hat und ich keinen Link in mein Servlet einbauen will, den man zuerst anklicken muß.

@Sanix

Dieses Servlet wird aber nicht im Internet zu sehen sein und dort wo es verwendet werden soll, wird es der Browser auch nicht blocken.



@all


Bin für weitere Vorschläge offen. Würde auch ersatzweise eine Lösung über ein Applet akzeptieren.

Bzw dass Applet kann ich ohne Hilfe programmieren, aber wie binde ich es dann so in mein Servlet ein, dass es aufgerufen wird?


----------



## Ralf Ueberfuhr (10. Aug 2006)

Du hast das Prinzip von server- und clientseitiger Programmierung nicht verstanden. Ein Servlet kann dir nur Quelltexte rausgeben, die auf dem Client dargestellt oder ausgeführt werden. Ein Popup kannst du nicht per Servlet öffnen, du kannst nur entsprechendes Javascript zum Öffnen des Fensters zurückgeben, der vom Browser auf dem Client dann ausgeführt wird.

Dein Servlet MUSS also HTML wieder geben. Und in HTML kannst du eben nicht


```
javascript:window.open('datei.htm','infofenster','height=400,width=200')
```

reinschreiben, sondern du musst diese Anweisung einfach in einen Script-Tag einbetten und folgende Ausgabe mit out.println() erzeugen:


```
<script type="text/javascript>
window.open('datei.htm','infofenster','height=400,width=200');
</script>
```

Wenn du das Popup erst öffnen magst, sobald die Seite geladen ist, musst du die o.g. Zeile anstelle des Script-Tags einfach in den Body-Tag reinschreiben:


```
<body onload="javascript:window.open('datei.htm','infofenster','height=400,width=200')">
```

Anders ist es meiner Meinung nach nicht gescheit umsetzbar. Falls du noch den Fall, dass der Benutzer JS deaktiviert hat, abfangen möchtest, solltest du auf der Seite noch einen Link zu der datei.htm und target="_blank" schreiben, der dann per JS unsichtbar gemacht wird.


----------



## Leroy42 (10. Aug 2006)

Exakt was Masseur erklärt hat.

Dein

if (iGeburtsdatum == 1)

bewirt, daß der folgende Code nur dann in den HTML-Stream erscheint, wenn 
_bereits auf dem Server_ diese Bedingung erfüllt ist.


----------



## immofuzzi (18. Aug 2006)

Hallo zusammen,

kann mir jemand sagen, wie ich ein popup fenster in typo3 einbinde?

wenn möglich sollte dies auch nicht geblockt werden von den Browsern.

Schönen Gruss

immofuzzi


----------



## Leroy42 (18. Aug 2006)

Das geht nur mit JavaScript



			
				immofuzzi hat gesagt.:
			
		

> wenn möglich sollte dies auch nicht geblockt werden von den Browsern.



Das geht schon mal gar nicht und ist auch gut so!


----------

