Fabian Bernecker: Refresh in einem anderen Frame

<meta http-equiv="refresh" content="5; URL=http://selfhtml.teamone.de/">

Bei diesem Tag wird im aktuellen Frame die angegebene Seite X nach X Sekunden geladen. Gibt es auch einen Target Parameter, das ich eine Seite in einem anderen Frame refreshen kann?

Der Zweck des ganzen ist das ich eine kleine 2 Frame Seite gemacht hab. In einem Frame ist eine HTML Datei die sich alle 14,5 Minuten aktualisiert und im anderen die Übersichtsseite eines Online Games. Da man nach 15 Minuten automatisch ausgeloggt, wird wenn man nix macht, wollte ich dem entgegensteuern :) Nur ich kann ja schlecht in deren Quellcode einen Refresh einbauen...

MfG Fabian Bernecker

  1. Da hilft wahrscheinlich nur JavaScript.
    1. Den Frames Namen geben:
    <frameset>
     <frame name="linkerframe">
     <frame name="rechterframe">
    </frameset>

    2. In deine Seite einbauen:
    <body onload="func1()">
    <script type="text/javascript">
    function func1()
    {setTimeout("func2()", 90000);}
    function func2()
    {
    parent.frames["linkerframe"].location.replace("www.xyz.de");
    }
    </script>

    Durch replace() erreicht man zusätzlich, dass die
    vorige Seite nicht mehr per Zurück-Button ansteuerbar
    ist.

    1. Ich habe das ganze mal eingebaut und es funktioniert. Danke :D

      @Tim Hab deins auch mal probiert, funktioniert auch :-)

      Ich glaub ich werde dieses Forum jetzt öfters heimsuchen *g

      MfG Fabian

  2. Hallo Fabian,

    Der Zweck des ganzen ist das ich eine kleine 2 Frame Seite gemacht hab. In einem Frame ist eine HTML Datei die sich alle 14,5 Minuten aktualisiert und im anderen die Übersichtsseite eines Online Games. Da man nach 15 Minuten automatisch ausgeloggt, wird wenn man nix macht, wollte ich dem entgegensteuern

    Wenn ein Reload der Übersichtsseite Dich nicht ausloggt, dann greif mittels Javascript auf das andere Frame zu (#1) und lade die Seite neu (#2). Wenn die HTML-Datei mit dem Meta Refresh neu geladen wirst, kannst Du das bestimmt verbinden, in dem Du die Javascript-Funktion, mit der das Spielframe neugeladen wird beim Laden des anderen Frames ausführen lassen (#3).

    (#1) http://selfhtml.teamone.de/javascript/objekte/frames.htm
    (#2) http://selfhtml.teamone.de/javascript/objekte/location.htm#reload
    (#3) http://selfhtml.teamone.de/javascript/sprache/eventhandler.htm#onload

    • Tim
    --
    Diese Signatur ist _vielleicht_ an einem Samstag gültig.
  3. Mit einem Metatag geht das nicht. Wenn Du nichts gegen den Einsatz von Javascript hast, kannst Du folgendermaßen vorgehen:

    Diesen Code als Javascript in den zweiten Frame einbauen, der nicht refreshed werden soll.

    function reload_frame()
    {
      parent.frames[x].location = 'url_to_reload.html';
    }

    setInterval("reload_frame()",870000);

    Dies sorgt dafür, dass die Funktion reload_frame alle 14,5*60*1000 Millisekunden aufgerufen wird, in der dann wiederum der Hauptframe mit der Spieleseite aktualisiert wird.

    1. Das x in frames[x] ist natürlich der Index des Frames, das refreshed werden soll...