Bernhard: Neuladen von aktualisierter Seite

Hallo!

Wie lade ich eine neu aktualisierte Seite neu. Wie lauten die Befehle im Perl?
Nachdem das Formularfenster abgeschickt und geschlossen wird, soll die drunten sichtbare Seite neu geladen werden damit der neue Eintrag sichtbar wird.

Danke!

BYE
BK.

  1. Wie lade ich eine neu aktualisierte Seite neu. Wie lauten die Befehle im Perl?
    Nachdem das Formularfenster abgeschickt und geschlossen wird, soll die drunten sichtbare Seite neu geladen werden damit der neue Eintrag sichtbar wird.

    So, wie Du Dir das vorstellst, funktioniert es überhaupt nicht. Im Browser können beliebig viele Fenster offen sein, welche beliebige Dokumente (statische, dynamisch per CGI generierte usw.) darstellen.
    Auf dem Server (dort, wo Du Perl-Skripte ausführen kannst) weiß aber niemand, in welchem Zustand Dein Browser sich gerade befindet.

    Wenn Du Aktionen durchführen willst, bei denen Zusammenhänge zwischen Fenstern wichtig sind, dann geht das nur mit einer Intelligenz, die in Deinem Browser abläuft. Also nicht Perl, sondern beispielsweise JavaScript oder Java.

  2. Hmm,
    also Deine Frage ist nicht sehr deutlich gestellt. Ich verstehe Dein Problem aber so:

    Du willst, dass sich eine Seite (die evtl. gerade generiert wurde) automatisch erneuert...

    Das funktioniert auf mehrere Arten. Die erste (einfachste) Methode ist per Meta-Tag

    <HTML>
    <HEAD>
    <meta http-equiv="refresh" content="10; URL=http://www.domain.de/seite.htm">
    </HEAD>
    <BODY>
    ....

    wobei die 10 bei content einen refresh nach 10 sec. bewirkt

    Zweite Methode: du laesst Dein Perl-Skript einen http-Header generieren, der den refresh nach z.B. 10 sec. verlangt (im Prinzip das gleiche wie oben) also irgendwie sowas:

    #!/usr/bin/perl
    use CGI qw(:cgi);

    $refresh_seite = "http://www.domain.de/seite.htm";

    print redirect( -URL => $refresh_seite );

    --------eof-----------

    remember: there is always more than one way do something in perl....

    joerg

  3. wenn du nach dem abschicken des formulars in einer seite das fenster schließen willst und ein anderes fenster aktualisieren willst, mußt du das nicht in perl machen, sondern dem browser auf der client-seite sagen, was er tun soll. dazu mußt du das zu aktualisierende fenster benamsen (mit javascript window.open kannst du einem fenster einen namen geben). im formular tust du dann im <form> onsubmit eine funktion aufrufen, die 1. das formular abschickt, 2. das andere fenster (window.fenstername.location oder so) auf eine url umleiten, und 3. das fenster schließen. damit der fensterinhalt des ersten fensters aktuell ist und nicht aus dem cache kommt, baue die folgenden tags im head ein (verhindern das lokale cachen und das cachen durch einen proxy):

    <META HTTP-EQUIV="Expires" CONTENT="Fri, Jun 12 1981 08:20:00 GMT">
            <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
            <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">

    ich hoffe du findest dich zurecht.

    gerhard