• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

confirm-methode mit beenden-klick kombinieren...

Metallica

Lounge-Member
Hi Veteranen,

irgendwie komme ich mit meinem javascript-code nicht klar.
In meiner index.htm rufe ich über 'ne Grafik die function winopen auf in der ich ein neues js-fenster öffne und darin die showit.htm darstelle.

index.htm:
<head>
<script>
function winopen(){
fenster=window.open("showit.htm","Show","toolbar=no,menubar=no,resizeable=no,width=720,height=500");
}
</script>
</head>
<body>
<a href="#" onClick="winopen()"><img src="Showit.jpg" width="335" height="239" border="0"> </a>

In der showit.htm will ich nun überprüfen, ob der User auf beenden (x) geklickt hat. Wenn ja, dann will ich über die Confirm-Methode eine Meldung "Wirklich beenden?" ausgeben. Drückt der User nun auf "OK" dann ist das Fenster wirklich geschlossen. Drückt er auf "Abbrechen", dann soll die Meldung verschwinden und das Fenster ganz normal offen bleiben.
Siehe Code:

showit.htm:
<head>
<script>
if window.close == true then
Check = confirm("Wollen Sie das Fenster wirklich schließen?");
if(Check == false) history.back();
</script>
</head>
<body>
........

Irgendwas stimmt da in der showit.htm aber nicht weil mir der Browser ständig 'nen error ausgibt. Muss ich das script vielleicht in die index.htm rüberkopieren und die winopen-function um diesen Teil erweitern???

Bitte um Rat
 
Hallo!

Ich vermute, daß du richtig vermutest hast.

Du mußt das ganze ins Eltern-Fenster geben und dort eben das ganze mit fenster.close() abfragen.

Wenn dann ABBRECHEN gedrückt wird muß das Fenster eben wieder geöffnet werden, oder so ähnlich.

Hab das bis jetzt noch nie gebraucht.
 
Hi Metallica!

Das Event wenn das Fenster geschlossen wird mußt Du in dem Fenster das geschlossen wird abfangen.
showit.htm


  • <script language="JavaScript" type="text/javascript">
    function winOpen(){
    Check = confirm("Wollen Sie das Fenster wirklich schließen?");
    if(Check == false) window.open("showit.htm","Show","toolbar=no,menubar=no,resizeable=no,width=720,height=500");
    }
    </script>
Hier fängst Du das Event ab.

  • <body onUnload="winOpen()" >
Wenn du frames verwendest und der Body bei dir im NOFRAMES-Bereich liegt must Du das Event im 1. Frameset abfangen:

  • <frameset id="set1" onUnload="winOpen()" cols="*,8" rows="*" frameborder="NO" border="0" framespacing="0">
Wenn der User den Browser schließt lässt sich das nicht abwenden. Du kannst nur die Seite neu öffen.

CU Crashfinger
 
Hi Crashfinger!

Hab jetzt die showit.htm mit dem Code ergänzt. Beim ersten öffnen der showit.htm funktioniert's. D.h. wenn ich auf's X klicke kommt die Confirm-Meldung. Bei OK schließt es sich. Soweit paßt's.
Drücke ich auf Abbrechen öffnet es sich wieder neu; allerdings mit window.open in einem java-script-fenster. Und wenn ich da wieder auf X und dann auf Abbrechen klicke bleibt das Fenster geschlossen.

D.h., dass es direkt aus der htm heraus funtzt - beim js-fenster (mit window.open) aber nicht.
Was muss ich tun damit es auch beim js-fenster funkt???
 
Vielleicht liegts an der Benennung des Fenster.
Soll heißen, beim ausführen des Scripts gibt es schon ein Fenster mit dem Namen 'Show'.

window.open("showit.htm","Show","toolbar=no,menubar=no,resizeable=no,width=720,height=500");

Lass den Namen mal weg.
 
nein, leider. Namen weglassen hat auch nix geändert.
ich glaube der Hund liegt darin begraben, dass ich in der index.htm die showit.htm über die funktion:
<script language="JavaScript">
function winopen(){
fenster=window.open("showit.htm","Show","toolbar=no,menubar=no,resizeable=no,width=720,height=500");
}
</script>
aufrufe.
Anmerkung:
Gestartet wird die winopen funktion in der index.htm über ein jpg mit dem Befehl <a href ....>

In der showit.htm sieht die funktion jetzt folgendermaßen aus:
<script language="JavaScript">
function winclose(){
Check = confirm("Wollen Sie das Fenster wirklich schließen?");
if(Check == false) window.open("showit.htm","toolbar=no,menubar=no,resizeable=no,width=720,height=500");
}
</script>

Vielleicht verträgt der Browser die Reihenfolge nicht. Kann man das ganze vielleicht in eine Funktion (und einer htm) zusammenfassen??
 
Klappt doch !!!

Index.html:
Code:
<html>
<head> 
<script> 
function winopen(){
fenster=window.open("showit.html","Show","toolbar=no,menubar=no,resizeable=no,width=720,height=500");
} 
</script> 
</head> 
<body> 
<a href="#" onClick="winopen()"><img src="Showit.jpg" width="335" height="239" border="0"> </a> 
</html>
showit.html:
Code:
<html>
<head>
<script language="JavaScript" type="text/javascript"> 
function winOpen(){ 
Check = confirm("Wollen Sie das Fenster wirklich schließen?"); 
if(Check == false){
window.open("showit.html","","toolbar=no,menubar=no,resizeable=no,width=720,height=500");}
} 
</script> 
</head>
<body bgcolor="#ffffff" onUnload="winOpen()" >
</body>
</html>
Probiere es aus: Copy 'n Paste :cool:
 
Zuletzt bearbeitet:
Zurück
Oben