Flo: onunload()???

Hallo alle,

mein Script im Head-Bereich:

<script language="javascript">
function CloseWindow() {
parent.Hauptframe.location.href = 'logout.php';
alert('Vielen Dank!');
}
</script>

im Body:

<frameset cols="210,*" border="0" onunload="CloseWindow();">

Warum wird denn beim Schließen nie die Funktion CloseWindow() aufgerufen? Es kommt keine Meldung und eine Fehlermeldung kommt auch nicht.

Wisst ihr weiter?

Vielen Dank

  1. Hi Flo

    Warum wird denn beim Schließen nie die Funktion CloseWindow() aufgerufen? Es kommt keine Meldung und eine Fehlermeldung kommt auch nicht.

    Der onunload-event kann man bei einem Frameset nicht benützen.
    -->Wird vom Browser nicht unterstützt.

    Du musst das ganze in eine Seite kopieren, die du in das Frameset lädst.

    <body onunload="CloseWindow();">

    MfG

    splinter

    1. Vielen Dank für die Antwort.

      Leider werden beide Teile vom Frameset immer wieder aktualisiert und dann kommt ständig diese Meldung.

      Kann man auch irgendwie das onunload() außerhalb von <body> benutzen?

      Vielen Dank

      1. Sorry

        Ich hatte falsche Informationen.
        Du kannst den Event benützen.

        im Body:

        <frameset cols="210,*" border="0" onunload="CloseWindow();">

        Allerdings kann ein Frameset nicht in den Body Tag eingebunden werden.

        <html>
        <head>
        ...
        </head>
        <frameset onunload="CloseWindow()">
        ...
        </frameset>
        </html>

        Ich glaube der Fehler liegt da (weis nur dass alles andere sicher funktioniert):

        parent.Hauptframe.location.href = 'logout.php';

        Geht dies überhaupt?? Eine Seite aufrufen obwohl die vorhergehende geschlossen wird? Ich befürchte dass solche Aktionen vom Browser aus Sicherheitsgründen nicht ausgeführt wird, ist allerdings nur eine Vermutung.
        Falls es denoch funktionieren sollte schlage ich dies vor:

        location.replace('logout.php');

        MfG

        splinter

  2. Hi,

    parent.Hauptframe.location.href = 'logout.php';

    Du möchtest also Deinem Script einen Logout übermitteln. Dies ist eine untaugliche Methode...

    alert('Vielen Dank!');

    und das dürfte viele Besucher ärgern.

    freundliche Grüße
    Ingo