selbstaktualisierender iframe

  • hallo,

    ich habe in meine hp per php scrip einen countdown eingebaut! er ist per iframe in die page ingebettet

    jedoch verändert sich die zeit nur per aktualisierung
    so wollte ich fragen, wie man einen sich selbst aktualisierenden iframe machen kann
    ich hoffe ihr könnt mir helfen


    mfG hansn

  • Hallo!
    Vielleicht kannst du den Countdown ja automatisch immer wieder neu laden lassen, indem du so etwas hier einfügst (musst du natürlich noch anpassen):

    Code
    <script type="text/javascript">
    function countdown () {
        //countdown wird aktualisiert
        setTimeout("countdown()", 1000);
    }
    </script>


    Dadurch wird die Funktion Countdown alle 1000ms erneut aufgerufen.
    LG
    nif7

  • die sache ist die ;) ich kenn mich nur ein bisschen mit html aus hab aber keine ahnung von scripts oder ähnlichem ich hab im internet ein bereits feritg erstelltes script benützt
    ich wieß im moment nicht wie ich deine lösung verarbeiten soll :)

    lg Hansn

  • die Datei heißt countdown_de.php


    <?php
    //////////////////////////////////////////////////////////////////////////////
    // countdown_de.php -- leicht anzupassendes countdown snippet //
    // Copyright (C) 2004, Juergen Boese - www. jurbo.de //
    // Kommentare sind willkommen: webmaster@jurbo.de //
    // //
    // This software is provided 'as-is', without any expressed or implied //
    // warranty. In no event can the author be held liable for any damages //
    // arising from the use of this software. //
    // //
    // Permission is granted to anyone to use this software freely. //
    //////////////////////////////////////////////////////////////////////////////

    // ein zukünftiges Datum einsetzen
    $hour = 15; // Stunden 0 ... 24
    $minute = 7; // Minuten 0 ... 60
    $second = 5; // Sekunden 0 ... 60
    $month = 6; // Monate 1 ... 12
    $day = 18; // Tage 1 ... 28/29/30/31
    $year = 2005; // Jahr vierstellig

    // Zeit in Sekunden zwischen jetzt und dem Countdown-Zeitpunkt
    $secdiff = mktime($hour,$minute,$second,$month,$day,$year) - time();

    $a = floor ($secdiff/86400); //Anzahl der Tage
    $b = floor ($secdiff%86400/3600); // dazu soviele Stunden
    $c = floor ($secdiff%86400%3600/60); // und Minuten
    $d = floor ($secdiff%86400%3600%60); // und Sekunden

    // zusätzlichen Text festlegen
    $text1 = " Noch "; $text2 = " Tage "; $text3 = " Stunden ";
    $text4 = " Minuten "; $text5 = " und "; $text6 = " Sekunden "; $text7 = " bis zum Countdown-Zeitpunkt! ";

    // Falls der Ablauftermin noch weit entfernt ist, könnte es unerwünscht sein
    // Stunden, Minuten und Sekunden anzuzeigen. In diesem Fall das '#' am
    // Anfang der nächsten Zeile entfernen.
    # if ($secdiff > 864000) $b = " " . $c = " " . $d = " "; // kann angepasst werden (86400 Sekunden = 10 Tage)

    // Es soll ja auch grammatisch alles richtig sein.
    // "1 Stunden" wird zu "1 Stunde" usw.
    // "0" Tage, Stunden etc. werden nicht angezeigt
    if ($a < 2) $text2 = " Tag ";
    if ($a < 1) $a = " " . $text2 = " ";
    if ($b < 2) $text3 = " Stunde ";
    if ($b < 1) $b = " " . $text3 = " ";
    if ($c < 2) $text4 = " Minute ";
    if ($c < 1) $c = " " . $text4 = " ";
    if ($d < 2) $text6 = " Sekunde ";
    if ($d < 1) $d = " " . $text6 = " ";
    if ($d == 0) $text5 = " ";

    // Die angezeigte Nachricht.
    if ($secdiff > 0) echo $text1 . $a . $text2 . $b . $text3 . $c . $text4 . $text5 . $d . $text6 . $text7;

    // Nachdem der Countdown-Zeitpunkt erreicht wurde, wird diese Nachricht angezeigt.
    else echo "Alles vorbei !! ";

    ?>

  • Um den Countdown zu aktualisieren, füge folgenden Code ganz unten hinter das "?>" ein:

    Code
    <script type="text/javascript"> 
        function ladeneu() {
            window.location.href = window.location.href;
        }
        setTimeout("ladeneu()", 1000);
    </script>


    Bei mir hat das geklappt.
    Generell würde ich persönlich aber Javascript-Counter bevorzugen, da das ständige Laden der Seite den Server beansprucht, während bei Javascript der Code auf dem Rechner des Benutzers ausgeführt wird.
    LG nif7 :wink: